[PATCH 2 of 2] merge: never do premerge on symlinks

Mads Kiilerich mads at kiilerich.com
Mon Jan 7 21:23:52 CST 2013


# HG changeset patch
# User Mads Kiilerich <mads at kiilerich.com>
# Date 1357614946 -3600
# Node ID 508d570d66778507584df97aa602c5ba328616b7
# Parent  578178376b070a97e9706a0bc163074650f5980f
merge: never do premerge on symlinks

Simplemerge is not symlink ware and will never do the right thing on symlinks.

diff --git a/mercurial/filemerge.py b/mercurial/filemerge.py
--- a/mercurial/filemerge.py
+++ b/mercurial/filemerge.py
@@ -171,13 +171,15 @@ def _ifail(repo, mynode, orig, fcd, fco,
 
 def _premerge(repo, toolconf, files):
     tool, toolpath, binary, symlink = toolconf
+    if symlink:
+        return 1
     a, b, c, back = files
 
     ui = repo.ui
 
     # do we attempt to simplemerge first?
     try:
-        premerge = _toolbool(ui, tool, "premerge", not (binary or symlink))
+        premerge = _toolbool(ui, tool, "premerge", not binary)
     except error.ConfigError:
         premerge = _toolstr(ui, tool, "premerge").lower()
         valid = 'keep'.split()


More information about the Mercurial-devel mailing list