--- a/mercurial/patch.py Mon Oct 08 11:18:34 2007 +0800
+++ b/mercurial/patch.py Mon Oct 08 22:20:23 2007 +0200
@@ -59,6 +59,7 @@
subject = msg['Subject']
user = msg['From']
+ gitsendmail = 'git-send-email' in msg.get('X-Mailer', '')
# should try to parse msg['Date']
date = None
nodeid = None
@@ -111,7 +112,7 @@
nodeid = line[10:]
elif line.startswith("# Parent "):
parents.append(line[10:])
- elif line == '---' and 'git-send-email' in msg['X-Mailer']:
+ elif line == '---' and gitsendmail:
ignoretext = True
if not line.startswith('# ') and not ignoretext:
cfp.write(line)
--- a/tests/test-import Mon Oct 08 11:18:34 2007 +0800
+++ b/tests/test-import Mon Oct 08 22:20:23 2007 +0200
@@ -94,10 +94,11 @@
rm -r b
# subject: duplicate detection, removal of [PATCH]
+# The '---' tests the gitsendmail handling without proper mail headers
cat > mkmsg2.py <<EOF
import email.Message, sys
msg = email.Message.Message()
-msg.set_payload('email patch\n\nnext line\n' + open('tip.patch').read())
+msg.set_payload('email patch\n\nnext line\n---\n' + open('tip.patch').read())
msg['Subject'] = '[PATCH] email patch'
msg['From'] = 'email patcher'
sys.stdout.write(msg.as_string())
--- a/tests/test-import.out Mon Oct 08 11:18:34 2007 +0800
+++ b/tests/test-import.out Mon Oct 08 22:20:23 2007 +0200
@@ -111,6 +111,7 @@
email patch
next line
+---
% hg import in a subdirectory
requesting all changes
adding changesets