diff mercurial/filemerge.py @ 26893:19c4b93cb7d6

filemerge: move :merge-local/other symlink check to precheck In upcoming patches we're going to add more checks to the function currently named _symlinkcheck. This consolidates all those checks.
author Siddharth Agarwal <sid0@fb.com>
date Sun, 08 Nov 2015 23:42:44 -0800
parents 859f453e8b4e
children 33eb8a56d0c9
line wrap: on
line diff
--- a/mercurial/filemerge.py	Sun Nov 08 23:47:20 2015 -0800
+++ b/mercurial/filemerge.py	Sun Nov 08 23:42:44 2015 -0800
@@ -308,16 +308,12 @@
     """
     assert localorother is not None
     tool, toolpath, binary, symlink = toolconf
-    if symlink:
-        repo.ui.warn(_('warning: :merge-%s cannot merge symlinks '
-                       'for %s\n') % (localorother, fcd.path()))
-        return False, 1
     a, b, c, back = files
     r = simplemerge.simplemerge(repo.ui, a, b, c, label=labels,
                                 localorother=localorother)
     return True, r
 
-@internaltool('merge-local', mergeonly)
+@internaltool('merge-local', mergeonly, precheck=_symlinkcheck)
 def _imergelocal(*args, **kwargs):
     """
     Like :merge, but resolve all conflicts non-interactively in favor
@@ -325,7 +321,7 @@
     success, status = _imergeauto(localorother='local', *args, **kwargs)
     return success, status
 
-@internaltool('merge-other', mergeonly)
+@internaltool('merge-other', mergeonly, precheck=_symlinkcheck)
 def _imergeother(*args, **kwargs):
     """
     Like :merge, but resolve all conflicts non-interactively in favor