Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Mercurial: The Definitive Guide
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
The forking non-problem
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
Creating a Mercurial configuration file
Choosing 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
Network recompression
Read/Write Ordering and Atomicity
Concurrent Access
Safe dirstate 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