Mercurial is a cross-platform, distributed source management tool for software developers.[1] There's lots of very good tutorials available on using mercurial, some of which I've linked at the bottom of this page. This is written from a linux user's perspective. (sorry!) I'll update for other OS's soon.
Create a file ~/.hgrc and add the following, replacing Billy Bob's details with your own:
[ui] username = Billy Bob <billy@bob.com>
Have a look at the Sample Repository .
Change directory into where you want your working repository to live. For example, I've created a ~/mercurial directory.
$ mkdir ~/mercurial
$ cd ~/mercurial
Now specify the location of the repository you wish to clone and the name you want to give it.
$ hg clone http://www.compsoc.nuigalway.ie/~webdev/cgi-bin/index.cgi/hg test-repository
Typical output:
bin/index.cgi/hg test-repository requesting all changes adding changesets adding manifests adding file changes added 3 changesets with 3 changes to 1 files 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ ls ~/mercurial
You should see a new directory called test-repository.
Add your name to the file called test . Create a new file. Call it your initials.
Now have a look at your project's current status:
$ cd ~/mercurial/test-repository
$ hg status
Typical Output:
M test ? ajr
If you create a new file in the repository and do
$ cd ~/mercurial/test-repository
$ hg Status
a question mark will be beside the name of the new file. To add it:
$ hg add <filename>
$ cd ~/mercurial/test-repository
$ hg commit
You'll be prompted to give a short description of the changes.
$ cd ~/mercurial/test-repository
$ hg log
Typical Output:
changeset: 3:fa8621938ff9 tag: tip user: andrewjregan <andrewjregancompsoc.nuigalway.ie> date: Tue Jun 17 09:17:48 2008 +0100 summary: Added ajr changeset: 2:820b24f246b3 user: Andrew Regan <andrewjregancompsoc.nuigalway.ie> date: Tue Jun 17 01:41:54 2008 +0100 summary: Cloned hg from the server to my local machine and modified test changeset: 1:82f20c629df5 user: Webdev <compsoc-webteamcompsoc.nuigalway.ie> date: Thu Jun 12 20:45:38 2008 +0100 summary: Added my name to test. changeset: 0:a2ca201ee468 user: Webdev <compsoc-webteamcompsoc.nuigalway.ie> date: Thu Jun 12 20:17:19 2008 +0100 summary: Created the repository and added the test file.
Note: Unless you have been given a password for this example you wont be able to push changes.
$ cd ~/mercurial/test-repository
$ hg push http://compsoc.nuigalway.ie/~webdev/cgi-bin/index.cgi/hg
You can also use other protocols.