This lab will help you get accquainted with basic use of Mercurial for source control.

Visit the Mercurial tutorial. If you are doing this from your own machine, follow the installation instructions in the Install section first; if on a lab Mac, proceed directly to the Clone tutorial. You can find all repositories that you have access to by visiting the hg web interface. This will likely tell you that the site uses an invalid certificate; ignore this and log in with your username and the Mercurial password provided by Mike, then copy the URL of the repository you wish to clone. Follow the instructions in the tutorial using that repository.

Follow the tutorial up through the Share Change tutorial. Up through this point, we haven't really made our code accessible to anyone else, which is fine and dandy--Mercurial is useful for individual and group projects both--but there are situations in which we would like to share our code. The Export Tutorial covers one way of doing this, but for ease of use we're going to break Mercurial's decentralized model and use the repository stored on teal as our central repository, where partners and graders can find our work. To upload work to this repository run hg pull https://teal.mathcs.carleton.edu/hg/reponame. This will have one of several results:

Unlike Subversion, Mercurial will actually warn you if you try to push to a server without first pulling.

Merging and conflict resolution are a good bit more complex than the above simple explanation, and to get a handle on them, you should continue on with the tutorial, following the steps in the Merge and Conflict sections. Once you've read these, you should have a solid grasp on all the basics of Mercurial, and can embark into the exciting world of source control. Happy committing!