aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorJoe Perches <joe@perches.com>2019-09-25 19:46:52 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2019-09-25 20:51:39 -0400
commitdbbf869da3adeba4a6beae4ecc184e47a16d078d (patch)
treeebc13e55874253fa9a0421b1644a96117bd44be9 /scripts
parent5a7f4455ad321400e1361ab94fd6858c5b2fe0cf (diff)
checkpatch: make git output use LANGUAGE=en_US.utf8
git output parsing depends on the language being en_US english. Make the backtick execution of all `git <foo>` commands set the LANGUAGE of the process to en_US.utf8 before executing the actual command using `export LANGUAGE=en_US.utf8; git <foo>`. Because the command is executed in a child process, the parent LANGUAGE is unchanged. Link: http://lkml.kernel.org/r/bb9f29988f3258281956680ff39c3e19e37dc0b8.camel@perches.com Signed-off-by: Joe Perches <joe@perches.com> Reported-by: Sean Christopherson <sean.j.christopherson@intel.com> Reviewed-by: Sean Christopherson <sean.j.christopherson@intel.com> Tested-by: Sean Christopherson <sean.j.christopherson@intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/checkpatch.pl10
1 files changed, 6 insertions, 4 deletions
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 4b25a94cfc36..4eb355d8ae73 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -62,6 +62,8 @@ my $conststructsfile = "$D/const_structs.checkpatch";
62my $typedefsfile = ""; 62my $typedefsfile = "";
63my $color = "auto"; 63my $color = "auto";
64my $allow_c99_comments = 1; # Can be overridden by --ignore C99_COMMENT_TOLERANCE 64my $allow_c99_comments = 1; # Can be overridden by --ignore C99_COMMENT_TOLERANCE
65# git output parsing needs US English output, so first set backtick child process LANGUAGE
66my $git_command ='export LANGUAGE=en_US.UTF-8; git';
65 67
66sub help { 68sub help {
67 my ($exitcode) = @_; 69 my ($exitcode) = @_;
@@ -904,7 +906,7 @@ sub seed_camelcase_includes {
904 $camelcase_seeded = 1; 906 $camelcase_seeded = 1;
905 907
906 if (-e ".git") { 908 if (-e ".git") {
907 my $git_last_include_commit = `git log --no-merges --pretty=format:"%h%n" -1 -- include`; 909 my $git_last_include_commit = `${git_command} log --no-merges --pretty=format:"%h%n" -1 -- include`;
908 chomp $git_last_include_commit; 910 chomp $git_last_include_commit;
909 $camelcase_cache = ".checkpatch-camelcase.git.$git_last_include_commit"; 911 $camelcase_cache = ".checkpatch-camelcase.git.$git_last_include_commit";
910 } else { 912 } else {
@@ -932,7 +934,7 @@ sub seed_camelcase_includes {
932 } 934 }
933 935
934 if (-e ".git") { 936 if (-e ".git") {
935 $files = `git ls-files "include/*.h"`; 937 $files = `${git_command} ls-files "include/*.h"`;
936 @include_files = split('\n', $files); 938 @include_files = split('\n', $files);
937 } 939 }
938 940
@@ -956,7 +958,7 @@ sub git_commit_info {
956 958
957 return ($id, $desc) if ((which("git") eq "") || !(-e ".git")); 959 return ($id, $desc) if ((which("git") eq "") || !(-e ".git"));
958 960
959 my $output = `git log --no-color --format='%H %s' -1 $commit 2>&1`; 961 my $output = `${git_command} log --no-color --format='%H %s' -1 $commit 2>&1`;
960 $output =~ s/^\s*//gm; 962 $output =~ s/^\s*//gm;
961 my @lines = split("\n", $output); 963 my @lines = split("\n", $output);
962 964
@@ -1006,7 +1008,7 @@ if ($git) {
1006 } else { 1008 } else {
1007 $git_range = "-1 $commit_expr"; 1009 $git_range = "-1 $commit_expr";
1008 } 1010 }
1009 my $lines = `git log --no-color --no-merges --pretty=format:'%H %s' $git_range`; 1011 my $lines = `${git_command} log --no-color --no-merges --pretty=format:'%H %s' $git_range`;
1010 foreach my $line (split(/\n/, $lines)) { 1012 foreach my $line (split(/\n/, $lines)) {
1011 $line =~ /^([0-9a-fA-F]{40,40}) (.*)$/; 1013 $line =~ /^([0-9a-fA-F]{40,40}) (.*)$/;
1012 next if (!defined($1) || !defined($2)); 1014 next if (!defined($1) || !defined($2));