Globally disabling merge conflict resolution?

Matt Mackall mpm at selenic.com
Fri Jan 31 07:11:48 UTC 2014


On Sun, 2014-01-26 at 10:42 -0500, Roy Smith wrote:
> Is there some way to globally disable the default merge resolution
> tool in hg?  I'm talking about the thing that drops you into some
> bizarre three-window vi session.

That's one of the many merge resolution tools that is available in our
sample configuration. It's only used if vimdiff is installed and no
other better alternative is found. 

I personally find the single window vi session bizarre, so I feel your
pain. But apparently some people like merging in vi, and ages ago talked
us into making it one of the default supported tools, and we can't take
it away without causing them to have a bad day.

Recent hg gives this status message inside vimdiff:

 hg merge conflict, type ":cq" to abort vimdiff

..and if you do that, you should indeed exit with a non-zero exit code
that doesn't mark the merge resolved.

If you MUST use a terminal rather than a GUI merge tool, I strongly
recommend using contrib/editmerge.

>  Is there some way to set up our central repo to globally enforce this
> for everybody that clones the repo?

Nope. There are zero ways to force clients to do anything in hg, except
not push to your server. They have the source code, after all, so why
kid ourselves? In fact, we don't even officially acknowledge the concept
of "central server".

-- 
Mathematics is the supreme nostalgia of our time.





More information about the Mercurial mailing list