diff mercurial/patch.py @ 12675:c6cdc123f6e4

patch: fails immediately upon malformed hunk patch(1) does silently ignore malformed hunks but this is not something we want to copy.
author Patrick Mezard <pmezard@gmail.com>
date Sat, 09 Oct 2010 15:13:08 -0500
parents aa2fe1f52ff4
children 80a3d1121c10
line wrap: on
line diff
--- a/mercurial/patch.py	Sat Oct 09 15:13:08 2010 -0500
+++ b/mercurial/patch.py	Sat Oct 09 15:13:08 2010 -0500
@@ -1007,17 +1007,12 @@
             current_hunk = None
         if ((sourcefile or state == BFILE) and ((not context and x[0] == '@') or
             ((context is not False) and x.startswith('***************')))):
-            try:
-                if context is None and x.startswith('***************'):
-                    context = True
-                gpatch = changed.get(bfile)
-                create = afile == '/dev/null' or gpatch and gpatch.op == 'ADD'
-                remove = bfile == '/dev/null' or gpatch and gpatch.op == 'DELETE'
-                current_hunk = hunk(x, hunknum + 1, lr, context, create, remove)
-            except PatchError, err:
-                ui.debug(err)
-                current_hunk = None
-                continue
+            if context is None and x.startswith('***************'):
+                context = True
+            gpatch = changed.get(bfile)
+            create = afile == '/dev/null' or gpatch and gpatch.op == 'ADD'
+            remove = bfile == '/dev/null' or gpatch and gpatch.op == 'DELETE'
+            current_hunk = hunk(x, hunknum + 1, lr, context, create, remove)
             hunknum += 1
             if emitfile:
                 emitfile = False