mercurial/commands.py
changeset 2513 f22e3e8fd457
parent 2510 cbff06469488
child 2515 a6700c222314
--- a/mercurial/commands.py
+++ b/mercurial/commands.py
@@ -1787,10 +1787,16 @@ def import_(ui, repo, patch1, *patches, 
                     diffs_seen += 1
                     hgpatch = False
                     fp = cStringIO.StringIO()
+                    if message:
+                        fp.write(message)
+                        fp.write('\n')
                     for line in payload[:m.start(0)].splitlines():
                         if line.startswith('# HG changeset patch'):
                             ui.debug(_('patch generated by hg export\n'))
                             hgpatch = True
+                            # drop earlier commit message content
+                            fp.seek(0)
+                            fp.truncate()
                         elif hgpatch:
                             if line.startswith('# User '):
                                 user = line[7:]
@@ -1800,8 +1806,7 @@ def import_(ui, repo, patch1, *patches, 
                         if not line.startswith('# '):
                             fp.write(line)
                             fp.write('\n')
-                            hgpatch = False
-                    message = fp.getvalue() or message
+                    message = fp.getvalue()
                     if tmpfp:
                         tmpfp.write(payload)
                         if not payload.endswith('\n'):