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>
This commit is contained in:
parent
5a7f4455ad
commit
dbbf869da3
|
@ -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 {
|
||||||
$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 {
|
||||||
}
|
}
|
||||||
|
|
||||||
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 {
|
||||||
|
|
||||||
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) {
|
||||||
} 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));
|
||||||
|
|
Loading…
Reference in New Issue