I'm trying to run hg merge
on Cygwin, which I've setup to launch DiffMerge on conflicts. Despite this, I get dropped into vimdiff
when I merge.
$ hg merge
tool diffmerge requires a GUI
...
This error message was introduced in commit 090b1a665901, and defines a GUI-enabled device as a nt
(Windows) or mac
(OSX) machine, or one with the DISPLAY
variable set. In my Cygwin install, DISPLAY
is not set, and os.name
is posix
.
$ [ -z "$DISPLAY" ] && echo NOT SET
NOT SET
$ python -c 'import os; print(os.name)'
posix
If I set DISPLAY
to an arbitrary string, hg merge
successfully launches DiffMerge:
$ DISPLAY=abc hg merge
merging path/to/file
(no more unresolved files)
What am I missing? Is Python incorrectly reporting I'm running on posix
? Should Cygwin be setting DISPLAY
?
I'm using Cygwin 2.0.4 on Windows 7, Mercurial version 3.3, DiffMerge 4.2.0.