Mercurial: The Definitive Guide
Format: PDF / Kindle (mobi) / ePub
This instructive book takes you step by step through ways to track, merge, and manage both open source and commercial software projects with Mercurial, using Windows, Mac OS X, Linux, Solaris, and other systems. Mercurial is the easiest system to learn when it comes to distributed revision control. And it's a very flexible tool that's ideal whether you're a lone programmer working on a small project, or part of a huge team dealing with thousands of files.
Mercurial permits a countless variety of development and collaboration methods, and this book offers several concrete suggestions to get you started. This guide will help you:
- Learn the basics of working with a repository, changesets, and revisions
- Merge changes from separate repositories
- Set up Mercurial to work with files on a daily basis, including which ones to track
- Get examples and tools for setting up various workflow models
- Manage a project that's making progress on multiple fronts at once
- Find and fix mistakes by isolating problem sources
- Use hooks to perform actions automatically in response to repository events
- Customize the output of Mercurial
Mercurial: The Definitive Guide maintains a strong focus on simplicity to help you learn Mercurial quickly and thoroughly.
lets us clone repositories over the network. Another is that it remembers where we cloned from, which we’ll find useful soon when we want to fetch new changes from another repository. If our clone succeeded, we should now have a local directory called hello. This directory will contain some files. $ ls -l total 4 drwxrwxr-x 3 bos bos 4096 May $ ls hello Makefile hello.c 5 06:44 hello These files have the same contents and history in our repository as they do in the repository we cloned.
(run 'hg heads' to see heads, 'hg merge' to merge) We expect our repository to now contain two heads. $ hg heads changeset: tag: parent: user: date: summary: 2:ef015a2d8ff7 tip 0:7795ddfbad20 Bryan O'Sullivan
you to identify and resolve those conflicts. • It can help you to recover from mistakes. If you make a change that later turns out to be in error, you can revert to an earlier version of one or more files. In fact, a really good revision control tool will even help you to efficiently figure out exactly when a problem was introduced (see “Finding the Source of a Bug” on page 137 for details). • It will help you to work simultaneously on, and manage the drift between, multiple versions of your
forgotten about], and come back to bite you.) You Can Only Roll Back Once Mercurial stores exactly one transaction in its transaction log; that transaction is the most recent one that occurred in the repository. This means that you can only roll back one transaction. If you expect to be able to roll back one transaction and then its predecessor, this is not the behavior you will get. $ hg rollback rolling back last transaction $ hg rollback no rollback information available Once you’ve rolled
Renames Other Interesting Design Features Clever Compression Read/Write Ordering and Atomicity Concurrent Access Avoiding Seeks Other Contents of the Dirstate 49 50 50 53 54 56 56 56 57 57 58 58 5. Mercurial in Daily Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 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