Message ID | 20190912115201.888-1-tklauser@distanz.ch (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | git-svn: trim leading and trailing whitespaces in author name | expand |
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.)
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.
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)'; }
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(+)