Jeff King <peff@xxxxxxxx> wrote: > [Eric Wong cc'd because of git-svn relevance] > > On Wed, Dec 05, 2007 at 06:05:04PM -0800, Junio C Hamano wrote: > > > This adds an option to help scripts find out color settings from > > the configuration file. > > > > git config --get-colorbool color.diff > > > > inspects color.diff variable, and exits with status 0 (i.e. success) if > > color is to be used. It exits with status 1 otherwise. > > There is no way to differentiate between "do not use color" and "no > value found". This makes it impossible to use this to implement the > required "try color.diff, fallback to diff.color" behavior. > > We could simply make it > > git config --get-colorbool diff > > which would check both (and when diff.color support is finally dropped, > just remove it from there). > > git-svn should probably be moved to this interface (it still has the > color.diff == true means "always" behavior), but it can't be until the > fallback behavior is implemented. > > Also, your patch doesn't seem to implement the color.pager/pager.color > behavior, either (which is probably not important for git-add -i, but is > used by git-svn). > > Anyway, below is a totally untested (I don't even have svn installed, > but it passes perl -wc!) patch for git-svn to use the new "true means > auto" behavior for color.diff. It would be nice to replace this with > a working --get-colorbool, but we should at least unify the behavior > before v1.5.4. Hi Jeff, I completely agree that the color behavior should be consistent across git-*. So I'd like to just be able to just use --get-colorbool in git-svn. Your patch seems to do what it says it does, though. > -Peff > > --- > diff --git a/git-svn.perl b/git-svn.perl > index 9f884eb..71f6e93 100755 > --- a/git-svn.perl > +++ b/git-svn.perl > @@ -3979,7 +3979,12 @@ sub log_use_color { > $dc = `git-config --get $dcvar`; > } > chomp($dc); > - if ($dc eq 'auto') { > + return 0 if $dc eq 'never'; > + return 1 if $dc eq 'always'; > + if ($dc ne 'auto') { > + chomp($dc = `git-config --bool --get $dcvar`); > + } > + if ($dc eq 'auto' || $dc eq 'true') { > my $pc; > $pc = `git-config --get color.pager`; > if ($pc eq '') { > @@ -3998,10 +4003,7 @@ sub log_use_color { > } > return 0; > } > - return 0 if $dc eq 'never'; > - return 1 if $dc eq 'always'; > - chomp($dc = `git-config --bool --get $dcvar`); > - return ($dc eq 'true'); > + return 0; > } > > sub git_svn_log_cmd { > - -- Eric Wong - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html