Skip to content

Commit

Permalink
git-svn: Same default as cvsimport when using --use-log-author
Browse files Browse the repository at this point in the history
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 <foobaruser>

Which is not perfect, but perfectly acceptable given the circumstances.

The default git-svn import however, results in:

Author: foobaruser <foobaruser@acf43c95-373e-0410-b603-e72c3f656dc1>

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 <foobaruser>

Signed-off-by: Stephen R. van den Berg <srb@cuci.nl>
Acked-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Stephen R. van den Berg authored and Junio C Hamano committed May 1, 2008
1 parent e4b9c36 commit abfa533
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions git-svn.perl
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down

0 comments on commit abfa533

Please sign in to comment.