From: Stephen R. van den Berg Date: Tue, 29 Apr 2008 21:20:32 +0000 (+0200) Subject: git-svn: Same default as cvsimport when using --use-log-author X-Git-Tag: v1.5.6-rc0~106 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=abfa533dea28763040beba3e3d908bbbcf818b3a;p=git.git git-svn: Same default as cvsimport when using --use-log-author When using git-cvsimport, the author is inferred from the cvs commit, e.g. cvs commit logname is foobaruser, then the author field in git results in: Author: foobaruser Which is not perfect, but perfectly acceptable given the circumstances. The default git-svn import however, results in: Author: foobaruser When using mixes of imports, from CVS and SVN into the same git repository, you'd like to harmonise the imports to the format cvsimport uses. git-svn supports an experimental option --use-log-author which currently results in the same logentry as without that option when no From: or Signed-off-by: is found in the logentry ($email currently ends up empty, and hence is generated again). This patches harmonises the result with cvsimport, and makes git-svn --use-log-author produce: Author: foobaruser Signed-off-by: Stephen R. van den Berg Acked-by: Eric Wong Signed-off-by: Junio C Hamano --- diff --git a/git-svn.perl b/git-svn.perl index 711e7b7eb..b70f8efaa 100755 --- a/git-svn.perl +++ b/git-svn.perl @@ -2428,13 +2428,15 @@ sub make_log_entry { $name_field = $1; } if (!defined $name_field) { - # + if (!defined $email) { + $email = $name; + } } elsif ($name_field =~ /(.*?)\s+<(.*)>/) { ($name, $email) = ($1, $2); } elsif ($name_field =~ /(.*)@/) { ($name, $email) = ($1, $name_field); } else { - ($name, $email) = ($name_field, 'unknown'); + ($name, $email) = ($name_field, $name_field); } } if (defined $headrev && $self->use_svm_props) {