threads / patch / 51835

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

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

## tl;dr

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

replies: 2people: 2as markdown or json

Tobias Klauser· Sep 12, 2019, 14:56 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>
---
v2:
 - move whitespace trimming below defined'ness check as per Eric Sunshine's
   review comment
 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..d8c07419f51c 100644
--- a/perl/Git/SVN.pm
+++ b/perl/Git/SVN.pm
@@ -1494,6 +1494,7 @@ sub check_author {
 	if (!defined $author || length $author == 0) {
 		$author = '(no author)';
 	}
+	$author =~ s/^\s+|\s+$//g;
 	if (!defined $::users{$author}) {
 		if (defined $::_authors_prog) {
 			$::users{$author} = call_authors_prog($author);
-- 
2.23.0.dirty
Eric Sunshine· Sep 12, 2019, 18:20 UTC · re: Tobias Klauser · lore

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

On Thu, Sep 12, 2019 at 10:56 AM Tobias Klauser <tklauser@distanz.ch> wrote:
Show 9 quoted lines
> v2:
>  - move whitespace trimming below defined'ness check as per Eric Sunshine's
>    review comment
> diff --git a/perl/Git/SVN.pm b/perl/Git/SVN.pm
> @@ -1494,6 +1494,7 @@ sub check_author {
>         if (!defined $author || length $author == 0) {
>                 $author = '(no author)';
>         }
> +       $author =~ s/^\s+|\s+$//g;

Hmm, this still looks questionable. I would have expected the whitespace trimming to be below the 'defined' check but before the length($author)==0 check (since the length might become 0 once whitespace is trimmed).

Also, a minor style/comprehension nit: Perhaps I'm just old-school, but for me, the idiom:

    $author =~ s/^\s+//;
    $author =~ s/\s+$//;

is easier to understand at-a-glance as trimming leading and trailing whitespace than the more compact (noisy) expression this patch uses. But that's just a subjective review comment, not necessarily actionable.

Tobias Klauser· Sep 13, 2019, 07:47 UTC · re: Eric Sunshine · lore

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

Thank you for the review Eric!
On 2019-09-12 at 20:20:11 +0200, Eric Sunshine <sunshine@sunshineco.com> wrote:
Show 15 quoted lines
> On Thu, Sep 12, 2019 at 10:56 AM Tobias Klauser <tklauser@distanz.ch> wrote:
> > v2:
> >  - move whitespace trimming below defined'ness check as per Eric Sunshine's
> >    review comment
> > diff --git a/perl/Git/SVN.pm b/perl/Git/SVN.pm
> > @@ -1494,6 +1494,7 @@ sub check_author {
> >         if (!defined $author || length $author == 0) {
> >                 $author = '(no author)';
> >         }
> > +       $author =~ s/^\s+|\s+$//g;
> 
> Hmm, this still looks questionable. I would have expected the
> whitespace trimming to be below the 'defined' check but before the
> length($author)==0 check (since the length might become 0 once
> whitespace is trimmed).
Agree, I didn't consider this case. Will change in v3.
Show 10 quoted lines
> Also, a minor style/comprehension nit: Perhaps I'm just old-school,
> but for me, the idiom:
> 
>     $author =~ s/^\s+//;
>     $author =~ s/\s+$//;
> 
> is easier to understand at-a-glance as trimming leading and trailing
> whitespace than the more compact (noisy) expression this patch uses.
> But that's just a subjective review comment, not necessarily
> actionable.

Agree, the form you propose is more readable and saving just a line doesn't seem worth the possible impact on comprehension/readability. Will change in v3.

← back to recent threads