Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Mercurial - basic process to revert a merge and try again

We merge using this process:

cd c:\myapp
hg pull ssh://hg/myapp-1_0_1
hg merge 

Now sometimes we mess up the merge or sometimes we get an error (ie: "can't merge file xxx - file in use"). Usually I just delete my c:\myapp repo, re-clone from the remote master repo and start over. This works but it's a pain. What is a better way?

I've read about using hg update -C but I'm not clear on the process. So you'd do hg update -C, this would delete the merged files but keep the changesets that were pulled down, and then you'd issue the hg merge command again and try again?


Update Regarding the related question: hg update -C still keeps the changesets in the repo which were pulled down with hg pull - how can you get rid of those?

like image 902
Marcus Leon Avatar asked Mar 17 '11 17:03

Marcus Leon


1 Answers

hg update -C is just perfect. Why would you want to get rid of the pulled changesets? Because the update command updates to the head of the pulled changes? If this is your problem with the pulled changes, run hg update -C <revision-of-your-local-head> and don't care about the pulled changes, probably you'll pull them again at some point anyway. After the update proceed your work or try the merge again.

However, if your really want to get rid of pulled changes, use the strip command.

like image 184
Oben Sonne Avatar answered Sep 23 '22 00:09

Oben Sonne