mercurial/patch.py
changeset 7402 bffdab64dfbb
parent 7392 564326a6ef9c
child 7505 fe0e02f952b0
--- 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)