For instance, if you set your diff/mergetool to meld and you don't have it installed: > git difftool Viewing (1/1): 'blah' Launch 'meld' [Y/n]? y /home/ttanner/bin/meld[8]: /opt/swt/bin/meld: not found > echo $? 0 > /home/ttanner/bin/meld /home/ttanner/bin/meld[8]: /opt/swt/bin/meld: not found > echo $? 127 or > env DISPLAY=wibble git difftool Viewing (1/1): blah' Launch 'xxdiff' [Y/n]? y xxdiff: cannot connect to X server wibble > echo $? 0 > env DISPLAY=wibble xxdiff thisfile thatfile xxdiff: cannot connect to X server wibble > echo $? 1 and this one (with DISPLAY unset because it was being run elsewhere) > git mergtool Normal merge conflict for 'blah: {local}: modified file {remote}: modified file Could not find ':' in DISPLAY: yeah, right XIO: fatal IO error 73 (Connection reset by peer) on X server "server:66.0" after 0 requests (0 known processed) with 0 events remaining. > echo $? 0 which last looked like a successful merge to a script, because it returned 0.��.n��������+%������w��{.n��������n�r������&��z�ޗ�zf���h���~����������_��+v���)ߣ�