[PATCH STABLE] mergetools: vimdiff issue a warning explaining how to abort

Matt Mackall mpm at selenic.com
Fri Feb 15 14:08:53 CST 2013

On Fri, 2013-02-15 at 13:21 +0100, Benoit Boissinot wrote:
> Looks good.

> > -vimdiff.args=$local $other $base
> > +vimdiff.args=$local $other $base -c 'echohl WarningMsg | echo "merge
> > conflict detected, type \":cq\" to abort" | echohl'

Actually, it's not so good. I get an otherwise blank screen that says:

 "smem" 676L, 20653C
 merge conflict detected, type ":cg" to abort
 Press ENTER or type command to continue

If I were an everyday vimdiff user[1], I would be pissed off by this
change in very short order. Especially if I were resolving 10 conflicts
in a row.

And if I were a NON-vimdiff user, I'd still have just about no idea what
just happened or how to avoid it in the future.

Whatever we do in this area, it MUST have negligible impact on people
who rely on vimdiff today.

What's needed here is a way to display something in the last line of the
display (command area?), like how Emacs prints

 For information about the GNU Project and its goals, type M-x describe-project.

before the first keystroke. That message should include the following

- how to exit
- 'vimdiff' so people can Google
- 'merge conflict' so people can Google

Hopefully that Googling can take them to a page in our wiki that
explains how merge tools are configured and selected.

Also, I actually went down this path yesterday and discovered your
version is equivalent to:

-c ':echo "merge conflict..."'

I gave up after deciding this called for a vim expert.

[1] And thank god I'm not, because I seriously hate vi.

Mathematics is the supreme nostalgia of our time.

More information about the Mercurial-devel mailing list