Mercurial: The Definitive Guide
Revision control is the process of managing multiple versions of a piece of information. In its simplest form, this is something that many people do by hand: every time you modify a file, save it under a new name that contains a number, each one higher than the number of the preceding version.
Manually managing multiple versions of even a single file is an error-prone task, though, so software tools to help automate this process have long been available. The earliest automated revision control tools were intended to help a single user to manage revisions of a single file. Over the past few decades, the scope of revision control tools has expanded greatly; they now manage multiple files, and help multiple people to work together. The best modern revision control tools have no problem coping with thousands of people working together on projects that consist of hundreds of thousands of files.
The arrival of distributed revision control is relatively recent, and so far this new field has grown due to people’s willingness to explore ill-charted territory.
‘I am writing a book about distributed revision control because I believe that it is an important subject that deserves a field guide. I chose to write about Mercurial because it is the easiest tool to learn the terrain with, and yet it scales to the demands of real, challenging environments where many other revision control tools buckle.’ – Bryan O’Sullivan
There are a number of reasons why you or your team might want to use an automated revision control tool for a project.
- It will track the history and evolution of your project, so you don’t have to.
- When you’re working with other people, revision control software makes it easier for you to collaborate.
- 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.
- It will help you to work simultaneously on, and manage the drift between, multiple versions of your project.