Re: [updated2 PATCH] git-svn: Same default as cvsimport when using --use-log-author
"Stephen R. van den Berg" <srb@cuci.nl> wrote:
Show 24 quoted lines
> 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>
Thanks Stephen,
Acked-by: Eric Wong <normalperson@yhbt.net>
Show 31 quoted lines
> ---
>
> git-svn.perl | 6 ++++--
> 1 files changed, 4 insertions(+), 2 deletions(-)
>
>
> diff --git a/git-svn.perl b/git-svn.perl
> index b151049..67726c1 100755
> --- a/git-svn.perl
> +++ b/git-svn.perl
> @@ -2426,13 +2426,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) {
>
>
> --