# HG changeset patch # User Mads Kiilerich # Date 1287012509 -7200 # Node ID 80a3d1121c106fd972fa84423f55b2ce2e9407c9 # Parent 52971985be14f12930a9809d375b97e1ee77d21a import: only the first hg patch marker should be processed (issue2417) Proper use of the hgpatch state variable had been lost in the final edits of d7452292f9d3 - now it works more like intended. diff -r 52971985be14 -r 80a3d1121c10 mercurial/patch.py --- a/mercurial/patch.py Fri Sep 10 10:28:18 2010 +0200 +++ b/mercurial/patch.py Thu Oct 14 01:28:29 2010 +0200 @@ -228,8 +228,9 @@ diffs_seen += 1 cfp = cStringIO.StringIO() for line in payload[:m.start(0)].splitlines(): - if line.startswith('# HG changeset patch'): + if line.startswith('# HG changeset patch') and not hgpatch: ui.debug('patch generated by hg export\n') + hgpatch = True hgpatchheader = True # drop earlier commit message content cfp.seek(0) @@ -249,7 +250,6 @@ parents.append(line[10:]) elif not line.startswith("# "): hgpatchheader = False - hgpatch = True elif line == '---' and gitsendmail: ignoretext = True if not hgpatchheader and not ignoretext: diff -r 52971985be14 -r 80a3d1121c10 tests/test-patch.t --- a/tests/test-patch.t Fri Sep 10 10:28:18 2010 +0200 +++ b/tests/test-patch.t Thu Oct 14 01:28:29 2010 +0200 @@ -51,8 +51,11 @@ $ hg ci -A -m 0 a -d '0 0' $ echo 1 >> a $ cat << eof > log - > 1 - > # comment for 1 + > first line which can't start with '# ' + > # second line is a comment but that shouldn't be a problem. + > A patch marker like this was more problematic even after d7452292f9d3: + > # HG changeset patch + > # User lines looks like this - but it _is_ just a comment > eof $ hg ci -l log -d '0 0' $ hg export -o p 1 @@ -72,14 +75,17 @@ $ hg import ../c/p applying ../c/p $ hg log -v -r 1 - changeset: 1:89bf2f6d8088 + changeset: 1:e8cc66fbbaa6 tag: tip user: test date: Thu Jan 01 00:00:00 1970 +0000 files: a description: - 1 - # comment for 1 + first line which can't start with '# ' + # second line is a comment but that shouldn't be a problem. + A patch marker like this was more problematic even after d7452292f9d3: + # HG changeset patch + # User lines looks like this - but it _is_ just a comment $ cd ..