Fortify the recognition of a diff header.
authorbos@serpentine.internal.keyresearch.com
Thu, 01 Sep 2005 09:35:42 -0700
changeset 1193 04d1ca8ae9ec
parent 1192 6e165de907c5
child 1194 c165cbf56bb1
Fortify the recognition of a diff header.
mercurial/commands.py
--- a/mercurial/commands.py	Thu Sep 01 09:11:25 2005 -0700
+++ b/mercurial/commands.py	Thu Sep 01 09:35:42 2005 -0700
@@ -1009,7 +1009,8 @@
     d = opts["base"]
     strip = opts["strip"]
 
-    mailre = re.compile(r'(From |[\w-]+:)')
+    mailre = re.compile(r'(?:From |[\w-]+:)')
+    diffre = re.compile(r'(?:diff -|--- .*\s+\w+ \w+ +\d+ \d+:\d+:\d+ \d+)')
 
     for patch in patches:
         ui.status("applying %s\n" % patch)
@@ -1024,7 +1025,7 @@
                 if len(line) > 35: line = line[:32] + '...'
                 raise util.Abort('first line looks like a '
                                  'mail header: ' + line)
-            if line.startswith("--- ") or line.startswith("diff -r"):
+            if diffre.match(line):
                 break
             elif hgpatch:
                 # parse values when importing the result of an hg export