Browse Source

git-svn: fix signed commit parsing

When parsing a commit object, git-svn wrongly think that a line
containing spaces means the end of headers and the start of the commit
message. In case of signed commit, the gpgsig entry contains a line with
one space, so "git svn dcommit" will include part of the signature in
the commit message.

An example of such problem :
http://svnweb.mageia.org/treasurer?view=revision&revision=86

This commit changes the regex to only match an empty line as separator
between the headers and the commit message.

Signed-off-by: Nicolas Vigier <boklm@mars-attacks.org>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Eric Wong <normalperson@yhbt.net>
maint
Nicolas Vigier 12 years ago committed by Eric Wong
parent
commit
60786bd41a
  1. 2
      git-svn.perl

2
git-svn.perl

@ -1759,7 +1759,7 @@ sub get_commit_entry { @@ -1759,7 +1759,7 @@ sub get_commit_entry {
my $msgbuf = "";
while (<$msg_fh>) {
if (!$in_msg) {
$in_msg = 1 if (/^\s*$/);
$in_msg = 1 if (/^$/);
$author = $1 if (/^author (.*>)/);
} elsif (/^git-svn-id: /) {
# skip this for now, we regenerate the

Loading…
Cancel
Save