(merge with MercurialRepository)
For a great intro to mercurial, check out http://hginit.com.
To get a writable copy of the repository:
hg clone https://dvcs.w3.org/hg/prov
After making a file, run
hg add myfile.txt
which made it part of the repository (though, it has not been sent to http://dvcs.w3.org/hg/prov 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 http://dvcs.w3.org/hg/prov):
hg commit -m 'I added a file!'
Pushing sends your local repository changes to the central repository at http://dvcs.w3.org/hg/prov (Note, you need to have cloned the https in order to 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 <email@example.com> 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 <firstname.lastname@example.org> date: Tue Nov 08 16:19:25 2011 +0000 summary: typo changeset: 686:f2dec9f10b7c branch: fpwd user: Luc Moreau <email@example.com> 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.