Mercurial repository

(merge with MercurialRepository)

prov-wg is using the Mercurial version controlled repository at

For a great intro to mercurial, check out

To get a writable copy of the repository:

hg clone

After making a file, run

hg add myfile.txt

which made it part of the repository (though, it has not been sent to yet).

Check to see what uncommitted changes you have:

hg status
A myfile.txt

Committing adds the change to your local repository (unlike CVS/SVN, where committing would send it to

hg commit -m 'I added a file!'

Pushing sends your local repository changes to the central repository at (Note, you need to have cloned the https in order to push)

hg push


A good tip is probably to do hg pull and hg update (and any hg merge / hg commit if needed) often, before doing any change, then you would be staying ahead of the curve. -Stian


Dealing with multiple heads

Here is what Satya did:

  • 1. hg update -r <name of changeset> (update to desired head)
  • 2. hg merge -r <name of changeset> (if merge is not successful, use hg resolve -m to force resolving conflicts but you may have to loose some changes)
  • 3. hg commit -m "merged one head"
bash-3.2$ hg heads
changeset:   854:eeee2eaf7b27
tag:         tip
parent:      851:f4253ad815ed
user:        Tim L <>
date:        Tue Nov 08 14:22:24 2011 -0500
summary:     algebraic division example

changeset:   853:9b4d8ba863f5
parent:      852:ab5aa7c910f0
parent:      850:7ef37443dc30
user:        Luc Moreau <>
date:        Tue Nov 08 16:19:25 2011 +0000
summary:     typo

changeset:   686:f2dec9f10b7c
branch:      fpwd
user:        Luc Moreau <>
date:        Tue Oct 11 16:36:39 2011 +0100
summary:     html 4.x compliant file for fpwd

bash-3.2$ hg merge -r 853

Repeated the above steps for all the heads.

Last modified on 15 April 2012, at 18:51