Borrow patch header detection heuristic from quilt
authorMatt Mackall <mpm@selenic.com>
Sat, 15 Oct 2005 15:04:22 -0700
changeset 1390 ce95599eedac
parent 1389 9b3ef6f3cef5
child 1391 9395c2f94130
Borrow patch header detection heuristic from quilt
mercurial/commands.py
--- a/mercurial/commands.py
+++ b/mercurial/commands.py
@@ -1139,7 +1139,12 @@ def import_(ui, repo, patch1, *patches, 
     strip = opts["strip"]
 
     mailre = re.compile(r'(?:From |[\w-]+:)')
-    diffre = re.compile(r'(?:diff -|--- .*\s+\w+ \w+ +\d+ \d+:\d+:\d+ \d+)')
+
+    # attempt to detect the start of a patch
+    # (this heuristic is borrowed from quilt)
+    diffre = re.compile(r'(?:Index:[ \t]|diff[ \t]|RCS file: |' +
+                        'retrieving revision [0-9]+(\.[0-9]+)*$|' +
+                        '(---|\*\*\*)[ \t])')
 
     for patch in patches:
         ui.status("applying %s\n" % patch)