Online Book Reader

Home Category

Mercurial_ The Definitive Guide - Bryan O'Sullivan [0]

By Root 899 0
Mercurial: The Definitive Guide


Table of Contents

Preface

Technical Storytelling

Thank You for Supporting Mercurial

Conventions Used in This Book

Using Code Examples

Safari® Books Online

How to Contact Us

This Book Is Free

Acknowledgments

1. A Brief History of Revision Control

Why Revision Control? Why Mercurial?

Why Use Revision Control?

The Many Names of Revision Control

This Book Is a Work in Progress

About the Examples in This Book

Trends in the Field

A Few Advantages of Distributed Revision Control

Advantages for Open Source Projects

Advantages for Commercial Projects

Why Choose Mercurial?

Mercurial Compared with Other Tools

Subversion

Git

CVS

Commercial Tools

Choosing a Revision Control Tool

Switching from Another Tool to Mercurial

A Short History of Revision Control

2. A Tour of Mercurial: The Basics

Installing Mercurial on Your System

Windows

Mac OS X

Linux

Solaris

Getting Started

Built-In Help

Working with a Repository

Making a Local Copy of a Repository

What’s in a Repository?

A Tour Through History

Changesets, Revisions, and Talking to Other People

Viewing Specific Revisions

More Detailed Information

All About Command Options

Making and Reviewing Changes

Recording Changes in a New Changeset

Setting Up a Username

Writing a Commit Message

Writing a Good Commit Message

Aborting a Commit

Admiring Our New Handiwork

Sharing Changes

Pulling Changes from Another Repository

Updating the Working Directory

Pushing Changes to Another Repository

Default Locations

Sharing Changes over a Network

Starting a New Project

3. A Tour of Mercurial: Merging Work

Merging Streams of Work

Head Changesets

Performing the Merge

Committing the Results of the Merge

Merging Conflicting Changes

Using a Graphical Merge Tool

A Worked Example

Simplifying the Pull-Merge-Commit Sequence

Renaming, Copying, and Merging

4. Behind the Scenes

Mercurial’s Historical Record

Tracking the History of a Single File

Managing Tracked Files

Recording Changeset Information

Relationships Between Revisions

Safe, Efficient Storage

Efficient Storage

Safe Operation

Fast Retrieval

Identification and Strong Integrity

Revision History, Branching, and Merging

The Working Directory

What Happens When You Commit

Creating a New Head

Merging Changes

Merging and Renames

Other Interesting Design Features

Clever Compression

Read/Write Ordering and Atomicity

Concurrent Access

Avoiding Seeks

Other Contents of the Dirstate

5. Mercurial in Daily Use

Telling Mercurial Which Files to Track

Explicit Versus Implicit File Naming

Mercurial Tracks Files, Not Directories

How to Stop Tracking a File

Removing a File Does Not Affect Its History

Missing Files

Useful Shorthand: Adding and Removing Files in One Step

Copying Files

The Results of Copying During a Merge

Why Should Changes Follow Copies?

How to Make Changes Not Follow a Copy

Behavior of the hg copy Command

Renaming Files

Renaming Files and Merging Changes

Divergent Renames and Merging

Convergent Renames and Merging

Other Name-Related Corner Cases

Recovering from Mistakes

Dealing with Tricky Merges

File Resolution States

Resolving a File Merge

More Useful Diffs

Which Files to Manage, and Which to Avoid

Backups and Mirroring

6. Collaborating with Other People

Mercurial’s Web Interface

Collaboration Models

Factors to Keep in Mind

Informal Anarchy

A Single Central Repository

A Hosted Central Repository

Working with Multiple Branches

Feature Branches

The Release Train

The Linux Kernel Model

Pull-Only Versus Shared-Push Collaboration

Where Collaboration Meets Branch Management

The Technical Side of Sharing

Informal Sharing with hg serve

A Few Things to Keep in Mind

Using the Secure Shell Protocol

How to Read and Write ssh URLs

Finding an ssh Client for Your System

Generating a Key Pair

Using an Authentication Agent

Configuring the Server Side Properly

Using Compression with ssh

Serving Over HTTP Using CGI

Web Server Configuration Checklist

Basic

Return Main Page Next Page

®Online Book Reader