--- 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)