mercurialmerge

How to abandon an uncommitted hg merge?


I'm new to collaborating with Mercurial. My situation:

So I really wish I'd changed my local repo to 2-space indents before merging; then the merge will be trivial (i'm supposing). But I can't seem to back up. I think I need to hg update -r 3 but it says abort: outstanding uncommitted merges.

How can I undo the merge, changes spacing in my local repo, and remerge?


Solution

  • You can discard uncommitted changes with the -C (or --clean) flag:

    hg update -C -r 3
    

    BEWARE: Everything that was not committed will be gone!

    After that you should probably use some kind of code formatter tool to do the entire operation, or at least some find and replace with regular expressions. Something as simple as replacing what matches ^____ (use 4 spaces instead of underscores) with __ (2 spaces), repeated a few times (unless you have insanely some nested code) should work.