Mercurial revision control system

A revision control (= VersionControl) system is required to coordinate developers' and users' activities and keep track of the histories of these activities. A distributed revision control system was chosen because of its greater tolerance of inadequate Internet access, and Mercurial in particular was chosen because of the simplicity and elegance of its command interface. Although a distributed revision control system like Mercurial is capable of supporting the chaotic distributed development model (the Bazaar), it does not enforce this model. It is also perfectly capable of supporting the more disciplined centralised repository model (the Cathederal), and it is the centralised model which our setup promotes by channelling all changes only through the repositories hosted here at SACEMA. Unlike with a centralised revision control system, the only operations for which Mercurial requires Internet connectivity are the hg pull operations when you need to download updates someone else has uploaded to a repository, and the hg push operations when you need to update a repository. Sometimes (especially the first time you pull and whenever you push a large set of changes) these operations may require significant bandwidth, and with South Africa's Internet infrastructure being what it is, these operations may fail with various kinds of network error (typically "connection aborted" or "connection reset by peer"). In such cases, it is typically because you attempted such an operation during SA office hours (6am-3pm GMT weekdays) when these networks are most congested. Simply repeat the operation in question outside of these hours. If you find that you need to go beyond the uses of Mercurial envisaged in the scripts, then consult the Distributed Revision Control with Mercurial manual to learn more about how to use it and how it works.
«Main Page  • Queries? Email: Roger Mateer  • Last Modified: 2011/08/10  • All rights reserved © SACEMA 2011