diff mercurial/patch.py @ 14535:e597ef52a7c2

patch: dot not ignore hunk of files marked as 'deleted' git 'deleted' flag was processed unconditionnally and the file removed even if the related hunk was not matching.
author Patrick Mezard <pmezard@gmail.com>
date Sun, 05 Jun 2011 22:26:01 +0200
parents ecc79816d31e
children 65f4512e40e4
line wrap: on
line diff
--- a/mercurial/patch.py	Sun Jun 05 22:24:19 2011 +0200
+++ b/mercurial/patch.py	Sun Jun 05 22:26:01 2011 +0200
@@ -1237,12 +1237,12 @@
                 if gp.oldpath:
                     copysource = pstrip(gp.oldpath)
                 changed[path] = gp
-                if gp.op == 'DELETE':
-                    backend.unlink(path)
-                    continue
                 if gp.op == 'RENAME':
                     backend.unlink(copysource)
                 if not first_hunk:
+                    if gp.op == 'DELETE':
+                        backend.unlink(path)
+                        continue
                     data, mode = None, None
                     if gp.op in ('RENAME', 'COPY'):
                         data, mode = store.getfile(copysource)