summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Vigier <boklm@mars-attacks.org>2013-09-30 16:46:14 +0200
committerEric Wong <normalperson@yhbt.net>2013-10-10 06:48:10 +0000
commit60786bd41a575126c0735c55b46e1d0ee2b358cc (patch)
treea5dcdcccb65292b46adcd7d9d8b7cb61caf2951b
parent128a96c98442524c7f2eeef4757b1e48445f24ce (diff)
downloadgit-60786bd41a575126c0735c55b46e1d0ee2b358cc.tar.gz
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>
-rwxr-xr-xgit-svn.perl2
1 files changed, 1 insertions, 1 deletions
diff --git a/git-svn.perl b/git-svn.perl
index ff1ce3d351..1823db135e 100755
--- a/git-svn.perl
+++ b/git-svn.perl
@@ -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