diff -r 6bfd1054d867 -r 0e58c5b20745 mercurial/filemerge.py --- a/mercurial/filemerge.py Mon Jul 23 22:51:50 2018 -0700 +++ b/mercurial/filemerge.py Mon Jul 23 22:51:53 2018 -0700 @@ -208,9 +208,10 @@ if uimerge: # external tools defined in uimerge won't be able to handle # change/delete conflicts - if uimerge not in names and not changedelete: - return (uimerge, uimerge) - tools.insert(0, (None, uimerge)) # highest priority + if check(uimerge, path, symlink, binary, changedelete): + if uimerge not in names and not changedelete: + return (uimerge, uimerge) + tools.insert(0, (None, uimerge)) # highest priority tools.append((None, "hgmerge")) # the old default, if found for p, t in tools: if check(t, None, symlink, binary, changedelete):