Skip to content

Commit

Permalink
git-svn: allow both diff.color and color.diff
Browse files Browse the repository at this point in the history
The list concensus is to group color related configuration under
"color.*" so let's be consistent.

Inspired by Andy Parkins's patch to do the same for diff/log
family.  With fixes from Eric Wong.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
  • Loading branch information
Junio C Hamano committed Dec 13, 2006
1 parent ad2c82c commit 62e1aea
Showing 1 changed file with 25 additions and 6 deletions.
31 changes: 25 additions & 6 deletions git-svn.perl
Original file line number Diff line number Diff line change
Expand Up @@ -925,19 +925,38 @@ sub cmt_showable {

sub log_use_color {
return 1 if $_color;
my $dc;
chomp($dc = `git-repo-config --get diff.color`);
my ($dc, $dcvar);
$dcvar = 'color.diff';
$dc = `git-repo-config --get $dcvar`;
if ($dc eq '') {
# nothing at all; fallback to "diff.color"
$dcvar = 'diff.color';
$dc = `git-repo-config --get $dcvar`;
}
chomp($dc);
if ($dc eq 'auto') {
if (-t *STDOUT || (defined $_pager &&
`git-repo-config --bool --get pager.color` !~ /^false/)) {
my $pc;
$pc = `git-repo-config --get color.pager`;
if ($pc eq '') {
# does not have it -- fallback to pager.color
$pc = `git-repo-config --bool --get pager.color`;
}
else {
$pc = `git-repo-config --bool --get color.pager`;
if ($?) {
$pc = 'false';
}
}
chomp($pc);
if (-t *STDOUT || (defined $_pager && $pc eq 'true')) {
return ($ENV{TERM} && $ENV{TERM} ne 'dumb');
}
return 0;
}
return 0 if $dc eq 'never';
return 1 if $dc eq 'always';
chomp($dc = `git-repo-config --bool --get diff.color`);
$dc eq 'true';
chomp($dc = `git-repo-config --bool --get $dcvar`);
return ($dc eq 'true');
}

sub git_svn_log_cmd {
Expand Down

0 comments on commit 62e1aea

Please sign in to comment.