Commit dbbf869d authored by Joe Perches's avatar Joe Perches Committed by Linus Torvalds

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.comSigned-off-by: default avatarJoe Perches <joe@perches.com>
Reported-by: default avatarSean Christopherson <sean.j.christopherson@intel.com>
Reviewed-by: default avatarSean Christopherson <sean.j.christopherson@intel.com>
Tested-by: default avatarSean Christopherson <sean.j.christopherson@intel.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 5a7f4455
...@@ -62,6 +62,8 @@ my $conststructsfile = "$D/const_structs.checkpatch"; ...@@ -62,6 +62,8 @@ my $conststructsfile = "$D/const_structs.checkpatch";
my $typedefsfile = ""; my $typedefsfile = "";
my $color = "auto"; my $color = "auto";
my $allow_c99_comments = 1; # Can be overridden by --ignore C99_COMMENT_TOLERANCE my $allow_c99_comments = 1; # Can be overridden by --ignore C99_COMMENT_TOLERANCE
# git output parsing needs US English output, so first set backtick child process LANGUAGE
my $git_command ='export LANGUAGE=en_US.UTF-8; git';
sub help { sub help {
my ($exitcode) = @_; my ($exitcode) = @_;
...@@ -904,7 +906,7 @@ sub seed_camelcase_includes { ...@@ -904,7 +906,7 @@ sub seed_camelcase_includes {
$camelcase_seeded = 1; $camelcase_seeded = 1;
if (-e ".git") { 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; chomp $git_last_include_commit;
$camelcase_cache = ".checkpatch-camelcase.git.$git_last_include_commit"; $camelcase_cache = ".checkpatch-camelcase.git.$git_last_include_commit";
} else { } else {
...@@ -932,7 +934,7 @@ sub seed_camelcase_includes { ...@@ -932,7 +934,7 @@ sub seed_camelcase_includes {
} }
if (-e ".git") { if (-e ".git") {
$files = `git ls-files "include/*.h"`; $files = `${git_command} ls-files "include/*.h"`;
@include_files = split('\n', $files); @include_files = split('\n', $files);
} }
...@@ -956,7 +958,7 @@ sub git_commit_info { ...@@ -956,7 +958,7 @@ sub git_commit_info {
return ($id, $desc) if ((which("git") eq "") || !(-e ".git")); 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; $output =~ s/^\s*//gm;
my @lines = split("\n", $output); my @lines = split("\n", $output);
...@@ -1006,7 +1008,7 @@ if ($git) { ...@@ -1006,7 +1008,7 @@ if ($git) {
} else { } else {
$git_range = "-1 $commit_expr"; $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)) { foreach my $line (split(/\n/, $lines)) {
$line =~ /^([0-9a-fA-F]{40,40}) (.*)$/; $line =~ /^([0-9a-fA-F]{40,40}) (.*)$/;
next if (!defined($1) || !defined($2)); next if (!defined($1) || !defined($2));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment