diff mercurial/patch.py @ 7402:bffdab64dfbb

import: add similarity option (issue295)
author Brendan Cully <brendan@kublai.com>
date Sat, 22 Nov 2008 00:21:57 -0800
parents 564326a6ef9c
children fe0e02f952b0
line wrap: on
line diff
--- a/mercurial/patch.py	Sun Nov 23 18:08:19 2008 -0800
+++ b/mercurial/patch.py	Sat Nov 22 00:21:57 2008 -0800
@@ -1004,7 +1004,7 @@
         ignoreblanklines=get('ignore_blank_lines', 'ignoreblanklines'),
         context=get('unified', getter=ui.config))
 
-def updatedir(ui, repo, patches):
+def updatedir(ui, repo, patches, similarity=0):
     '''Update dirstate after patch application according to metadata'''
     if not patches:
         return
@@ -1028,7 +1028,7 @@
     for src, dst in copies:
         repo.copy(src, dst)
     removes = removes.keys()
-    if removes:
+    if (not similarity) and removes:
         repo.remove(util.sort(removes), True)
     for f in patches:
         gp = patches[f]
@@ -1041,7 +1041,7 @@
                 repo.wwrite(gp.path, '', flags)
             else:
                 util.set_flags(dst, islink, isexec)
-    cmdutil.addremove(repo, cfiles)
+    cmdutil.addremove(repo, cfiles, similarity=similarity)
     files = patches.keys()
     files.extend([r for r in removes if r not in files])
     return util.sort(files)