changeset 10729:7a5931c5f2dc stable

patch: enhance diff detection regexp, allow '--- ' in patch message
author Benoit Boissinot <benoit.boissinot@ens-lyon.org>
date Thu, 18 Mar 2010 18:22:34 +0100
parents 4a70178f9bde
children 4d6bd7b8b6d8
files mercurial/patch.py tests/test-import tests/test-import.out
diffstat 3 files changed, 32 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/patch.py	Thu Mar 18 16:38:07 2010 +0100
+++ b/mercurial/patch.py	Thu Mar 18 18:22:34 2010 +0100
@@ -178,7 +178,8 @@
     # (this heuristic is borrowed from quilt)
     diffre = re.compile(r'^(?:Index:[ \t]|diff[ \t]|RCS file: |'
                         r'retrieving revision [0-9]+(\.[0-9]+)*$|'
-                        r'(---|\*\*\*)[ \t])', re.MULTILINE)
+                        r'(---|\*\*\*)[ \t].*?'
+                        r'^(\+\+\+|\*\*\*)[ \t])', re.MULTILINE|re.DOTALL)
 
     fd, tmpname = tempfile.mkstemp(prefix='hg-patch-')
     tmpfp = os.fdopen(fd, 'w')
--- a/tests/test-import	Thu Mar 18 16:38:07 2010 +0100
+++ b/tests/test-import	Thu Mar 18 18:22:34 2010 +0100
@@ -375,6 +375,25 @@
 hg parents -v
 cd ..
 
+echo % '--- in commit message'
+hg init commitconfusion
+cd commitconfusion
+cat > a.patch <<EOF
+module: summary
+
+--- description
+
+diff --git a/a b/a
+new file mode 100644
+--- /dev/null
++++ b/a
+@@ -0,0 +1,1 @@
++a
+EOF
+hg import -d '0 0' a.patch
+hg parents -v
+cd ..
+
 echo '% tricky header splitting'
 cat > trickyheaders.patch <<EOF
 From: User A <user@a>
--- a/tests/test-import.out	Thu Mar 18 16:38:07 2010 +0100
+++ b/tests/test-import.out	Thu Mar 18 18:22:34 2010 +0100
@@ -318,6 +318,17 @@
 description
 
 
+% --- in commit message
+applying a.patch
+changeset:   0:f34d9187897d
+tag:         tip
+user:        test
+date:        Thu Jan 01 00:00:00 1970 +0000
+files:       a
+description:
+module: summary
+
+
 % tricky header splitting
 applying ../trickyheaders.patch
 # HG changeset patch