diff -r 63e0e57ab157 -r 0ee885fea464 mercurial/filemerge.py --- a/mercurial/filemerge.py Wed Feb 06 20:32:06 2008 -0600 +++ b/mercurial/filemerge.py Wed Feb 06 20:44:25 2008 -0600 @@ -60,10 +60,14 @@ t = k.split('.')[0] if t not in tools: tools[t] = int(_toolstr(ui, t, "priority", "0")) + names = tools.keys() tools = [(-p,t) for t,p in tools.items()] tools.sort() - if ui.config("ui", "merge"): - tools.insert(0, (None, ui.config("ui", "merge"))) # highest priority + uimerge = ui.config("ui", "merge") + if uimerge: + if uimerge not in names: + return (uimerge, uimerge) + tools.insert(0, (None, uimerge)) # highest priority tools.append((None, "hgmerge")) # the old default, if found for p,t in tools: toolpath = _findtool(ui, t)