Messages in this thread Patch in this message | | | Subject | Re: [PATCH] checkpatch: Remove obsolete period from "ambiguous SHA1" query | From | Joe Perches <> | Date | Fri, 30 Aug 2019 11:29:53 -0700 |
| |
On Fri, 2019-08-30 at 11:01 -0700, Joe Perches wrote: > On Fri, 2019-08-30 at 10:17 -0700, Sean Christopherson wrote: > > On Fri, Aug 30, 2019 at 09:37:51AM -0700, Joe Perches wrote: > > > On Fri, 2019-08-30 at 09:31 -0700, Sean Christopherson wrote: > > > > Git dropped the period from its "ambiguous SHA1" error message in commit > > > > 0c99171ad2 ("get_short_sha1: mark ambiguity error for translation"), > > > > circa 2016. Drop the period from checkpatch's associated query so as to > > > > match both the old and new error messages. > > > > > > > > Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com> > > > > --- > > > > scripts/checkpatch.pl | 2 +- > > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > > > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl > > > > index 93a7edfe0f05..ef3642c53100 100755 > > > > --- a/scripts/checkpatch.pl > > > > +++ b/scripts/checkpatch.pl > > > > @@ -962,7 +962,7 @@ sub git_commit_info { > > > > > > > > return ($id, $desc) if ($#lines < 0); > > > > > > > > - if ($lines[0] =~ /^error: short SHA1 $commit is ambiguous\./) { > > > > + if ($lines[0] =~ /^error: short SHA1 $commit is ambiguous/) { > > > > # Maybe one day convert this block of bash into something that returns > > > > # all matching commit ids, but it's very slow... > > > > # > > > > > > Thanks. > > > > > > Did git ever change to actually support human readable > > > messages in multiple languages? > > > > Yep, e.g.: > > > > error: Kurzer SHA-1 745f ist mehrdeutig. > > > > > If so, this won't work for non-english output. > > > > Yep again. The next check for 'fatal: ambiguous argument' obviously fails > > as well and checkpatch ends up using git's error message as the id and > > description. > > > > ERROR: Please use git ... - ie: 'commit error: Kurze ("")' > > Does git exit with unique failure codes? > If so, maybe the waitid/siginfo_t error could be used instead. >
Maybe something like this works? --- scripts/checkpatch.pl | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl index f4b6127ff469..dc001b7899ed 100755 --- a/scripts/checkpatch.pl +++ b/scripts/checkpatch.pl @@ -62,6 +62,7 @@ my $conststructsfile = "$D/const_structs.checkpatch"; my $typedefsfile = ""; my $color = "auto"; my $allow_c99_comments = 1; # Can be overridden by --ignore C99_COMMENT_TOLERANCE +my $git_command ='export LANG=en_US.utf-8; git'; sub help { my ($exitcode) = @_; @@ -918,7 +919,7 @@ sub seed_camelcase_includes { $camelcase_seeded = 1; if (-e ".git") { - my $git_last_include_commit = `git log --no-merges --pretty=format:"%h%n" -1 -- include`; + my $git_last_include_commit = `${git_command} log --no-merges --pretty=format:"%h%n" -1 -- include`; chomp $git_last_include_commit; $camelcase_cache = ".checkpatch-camelcase.git.$git_last_include_commit"; } else { @@ -946,7 +947,7 @@ sub seed_camelcase_includes { } if (-e ".git") { - $files = `git ls-files "include/*.h"`; + $files = `${git_command} ls-files "include/*.h"`; @include_files = split('\n', $files); } @@ -970,7 +971,7 @@ sub git_commit_info { return ($id, $desc) if ((which("git") eq "") || !(-e ".git")); - my $output = `git log --no-color --format='%H %s' -1 $commit 2>&1`; + my $output = `${git_command} log --no-color --format='%H %s' -1 $commit 2>&1`; $output =~ s/^\s*//gm; my @lines = split("\n", $output); @@ -1020,7 +1021,7 @@ if ($git) { } else { $git_range = "-1 $commit_expr"; } - my $lines = `git log --no-color --no-merges --pretty=format:'%H %s' $git_range`; + my $lines = `${git_command} log --no-color --no-merges --pretty=format:'%H %s' $git_range`; foreach my $line (split(/\n/, $lines)) { $line =~ /^([0-9a-fA-F]{40,40}) (.*)$/; next if (!defined($1) || !defined($2));
| |