1. HG & pclocks /home/sgir/src/pclock2 - clones should pull/push from here. 1.1. 'sgir' created the HG Repository by: cd /home/sgir/src/pclock2 hg init hg add *.c *.h makefile POA.txt README.html save.me hg commit Now 'sgir' has a working directory and a repository. 'sgir' continues modification this working copy. When 'sgir' is ready to update his repository with a new version: hg status - summary of changes between repository and working copy. hg diff - diff of changes between repository and working copy. hg commit - commit all changes to the repository If someone pushes an update to 'sgir', then 'sgir' need to do: hg update - updates the repository's working directory It's likely others can't update 'sgir''s repository (permission problems), so 'sgir' can pull those update: hg pull /home/joe/project - pulls in changes from joe's repository hg update - update 'sgir''s working copy 1.2. Tony wants to join in. To get a copy of sgir's repository (not the working copy): hg clone ssh://sgir@sgir//home/sgir/src/pclock2 pclock2 Work on your changes... When ready to push changes back to sgir: hg incoming - show what a hg pull will do. hg pull - update tony's the repository with lastest sgir copy If 'hg pull' result in mulitple heads, merge your working copy with the last revision. hg heads - show the branches. hg merge hg commit - commit you working copy in your local directory. hg push - submit back to sgir. sgir> hg update - to update's sgir working copy 1.3 Other HG commands hg log - history of repository hg status - display current status (files that changed). hg diff - shows changes between repository and working copy. 2. References http://wiki.geeklog.net/index.php/Using_Mercurial