--- 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