git-svn: trim leading and trailing whitespaces in author name
diff mbox series

Message ID 20190912115201.888-1-tklauser@distanz.ch
State New
Headers show
Series
  • git-svn: trim leading and trailing whitespaces in author name
Related show

Commit Message

Tobias Klauser Sept. 12, 2019, 11:52 a.m. UTC
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(+)

Comments

Eric Sunshine Sept. 12, 2019, 2:47 p.m. UTC | #1
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.)
Tobias Klauser Sept. 12, 2019, 2:51 p.m. UTC | #2
On 2019-09-12 at 16:47:41 +0200, Eric Sunshine <sunshine@sunshineco.com> wrote:
> 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.

Patch
diff mbox series

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)';
 	}