git-svn: fix signed commit parsing
authorNicolas Vigier <redacted>
Mon, 30 Sep 2013 14:46:14 +0000 (16:46 +0200)
committerEric Wong <redacted>
Thu, 10 Oct 2013 06:48:10 +0000 (06:48 +0000)
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 <redacted>
Reviewed-by: Jonathan Nieder <redacted>
Signed-off-by: Eric Wong <redacted>
git-svn.perl

index ff1ce3d351c8e4e175321d45b7284070f9ce691a..1823db135e223e4dfaa8123eedc87bad7db7a267 100755 (executable)
@@ -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
git clone https://git.99rst.org/PROJECT