threads / patch / 51834

patchgit-svn: trim leading and trailing whitespaces in author name

Subject: [PATCH] git-svn: trim leading and trailing whitespaces in author name

## tl;dr

3 messages between Sep 12, 2019 and Sep 12, 2019. Diffs are folded; open one to read it.

replies: 2people: 2as markdown or json

Tobias Klauser· Sep 12, 2019, 11:52 UTC · lore

In some cases, the svn author names might contain leading or trailing whitespaces, leading to messages such as:

  Author: user1
   not defined in authors.txt

(the trailing newline leads to the line break). The user "user1" is defined in authors.txt though, e.g.

  user1 = User <user1@example.com>

Fix this by trimming the author name retreived from svn before using it in check_author.

Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
---
 perl/Git/SVN.pm | 1 +
 1 file changed, 1 insertion(+)
Show changes to perl/Git/SVN.pm +1 −0
diff --git a/perl/Git/SVN.pm b/perl/Git/SVN.pm
index 76b29659057d..db412c653d1d 100644
--- a/perl/Git/SVN.pm
+++ b/perl/Git/SVN.pm
@@ -1491,6 +1491,7 @@ sub call_authors_prog {
 
 sub check_author {
 	my ($author) = @_;
+	$author =~ s/^\s+|\s+$//g;
 	if (!defined $author || length $author == 0) {
 		$author = '(no author)';
 	}
-- 
2.23.0.dirty
Eric Sunshine· Sep 12, 2019, 14:47 UTC · re: Tobias Klauser · lore

Re: [PATCH] git-svn: trim leading and trailing whitespaces in author name

On Thu, Sep 12, 2019 at 7:59 AM Tobias Klauser <tklauser@distanz.ch> wrote:
Show 24 quoted lines
> In some cases, the svn author names might contain leading or trailing
> whitespaces, leading to messages such as:
>
>   Author: user1
>    not defined in authors.txt
>
> (the trailing newline leads to the line break). The user "user1" is
> defined in authors.txt though, e.g.
>
>   user1 = User <user1@example.com>
>
> Fix this by trimming the author name retreived from svn before using it
> in check_author.
>
> Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
> ---
> diff --git a/perl/Git/SVN.pm b/perl/Git/SVN.pm
> @@ -1491,6 +1491,7 @@ sub call_authors_prog {
>  sub check_author {
>         my ($author) = @_;
> +       $author =~ s/^\s+|\s+$//g;
>         if (!defined $author || length $author == 0) {
>                 $author = '(no author)';
>         }

This fix seems incomplete. What happens if $author is undefined? (There is a check for $author defined'ness just below the new code you add.)

Tobias Klauser· Sep 12, 2019, 14:51 UTC · re: Eric Sunshine · lore

Re: [PATCH] git-svn: trim leading and trailing whitespaces in author name

On 2019-09-12 at 16:47:41 +0200, Eric Sunshine <sunshine@sunshineco.com> wrote:
Show 29 quoted lines
> On Thu, Sep 12, 2019 at 7:59 AM Tobias Klauser <tklauser@distanz.ch> wrote:
> > In some cases, the svn author names might contain leading or trailing
> > whitespaces, leading to messages such as:
> >
> >   Author: user1
> >    not defined in authors.txt
> >
> > (the trailing newline leads to the line break). The user "user1" is
> > defined in authors.txt though, e.g.
> >
> >   user1 = User <user1@example.com>
> >
> > Fix this by trimming the author name retreived from svn before using it
> > in check_author.
> >
> > Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
> > ---
> > diff --git a/perl/Git/SVN.pm b/perl/Git/SVN.pm
> > @@ -1491,6 +1491,7 @@ sub call_authors_prog {
> >  sub check_author {
> >         my ($author) = @_;
> > +       $author =~ s/^\s+|\s+$//g;
> >         if (!defined $author || length $author == 0) {
> >                 $author = '(no author)';
> >         }
> 
> This fix seems incomplete. What happens if $author is undefined?
> (There is a check for $author defined'ness just below the new code you
> add.)

Right, thanks for noting. The whitespace trimming should be moved below the defined'ness check. I'll send an updated patch.

← back to recent threads