threads / discuss / 9706

[StGit] How do I get colored diff output?

Subject: [StGit] How do I get colored diff output?

## tl;dr

5 messages between Aug 30, 2007 and Aug 31, 2007.

replies: 4people: 3as markdown or json

Peter Baumann· Aug 30, 2007, 12:32 UTC · lore
Hi,

Is there a way to get colored diff output, preferable from the native git diff without having to specify stg diff -O --color everytime? It seems that stg doesn't honor color.diff config entry, so I am a little lost.

(And yes I now that I could use the pager setting given in examples/gitconfig,
	stgit.pager = filterdiff --annotate | colordiff | less -FRX
 but I really prefere the native git coloring, which looks a loot nicer
 and does also highlight traling whitespace)
-Peter
Catalin Marinas· Aug 30, 2007, 13:22 UTC · re: Peter Baumann · lore

Re: [StGit] How do I get colored diff output?

Peter Baumann <waste.manager@gmx.de> wrote:
Show 11 quoted lines
> Is there a way to get colored diff output, preferable from the native
> git diff without having to specify stg diff -O --color everytime?
> It seems that stg doesn't honor color.diff config entry, so I am a
> little lost.
>
> (And yes I now that I could use the pager setting given in examples/gitconfig,
>
> 	stgit.pager = filterdiff --annotate | colordiff | less -FRX
>
>  but I really prefere the native git coloring, which looks a loot nicer
>  and does also highlight traling whitespace)

There isn't any other way at the moment. There were ideas of adding support for default command line options for various commands but I haven't looked at this.

I now tried the example stgit.pager option and it looks bad indeed. In the meantime, there is a diffcol.sh script in the contrib directory, I use this instead and it looks much nicer.

-- 
Catalin
Peter Baumann· Aug 30, 2007, 13:59 UTC · re: Catalin Marinas · lore

Re: [StGit] How do I get colored diff output?

On Thu, Aug 30, 2007 at 02:22:46PM +0100, Catalin Marinas wrote:
Show 21 quoted lines
> Peter Baumann <waste.manager@gmx.de> wrote:
> > Is there a way to get colored diff output, preferable from the native
> > git diff without having to specify stg diff -O --color everytime?
> > It seems that stg doesn't honor color.diff config entry, so I am a
> > little lost.
> >
> > (And yes I now that I could use the pager setting given in examples/gitconfig,
> >
> > 	stgit.pager = filterdiff --annotate | colordiff | less -FRX
> >
> >  but I really prefere the native git coloring, which looks a loot nicer
> >  and does also highlight traling whitespace)
> 
> There isn't any other way at the moment. There were ideas of adding
> support for default command line options for various commands but I
> haven't looked at this.
> 
> I now tried the example stgit.pager option and it looks bad indeed. In
> the meantime, there is a diffcol.sh script in the contrib directory, I
> use this instead and it looks much nicer.
> 
Ah. I didn't find that while searching for the color ouput.

Thx for your help, Peter

Jakub Narebski· Aug 30, 2007, 16:57 UTC · re: Catalin Marinas · lore

Re: [StGit] How do I get colored diff output?

Catalin Marinas wrote:
> I now tried the example stgit.pager option and it looks bad indeed. In
> the meantime, there is a diffcol.sh script in the contrib directory, I
> use this instead and it looks much nicer.
That means it should be not removed even though git-diff learned --color...
-- 
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git
Catalin Marinas· Aug 31, 2007, 15:14 UTC · re: Jakub Narebski · lore

Re: [StGit] How do I get colored diff output?

Jakub Narebski <jnareb@gmail.com> wrote:
Show 8 quoted lines
> Catalin Marinas wrote:
>
>> I now tried the example stgit.pager option and it looks bad indeed. In
>> the meantime, there is a diffcol.sh script in the contrib directory, I
>> use this instead and it looks much nicer.
>
> That means it should be not removed even though git-diff learned
> --color...

It looks nicer than "filterdiff | colordiff" (and probably pretty similar to the git-diff --color output).

It shouldn't be removed yet because there is no support in StGIT to pass these options automatically. Since StGIT uses git-diff-tree/index directly, always passing the --color option to these tools is not feasible as they cannot detect whether the output is tty or file. This functionality is currently handled by the pydoc.pager function.

Using git-diff would require a bit of work as well since StGIT first captures the output and displays it afterwards via pydoc.pager. We might change this at some point since GIT now has proper support for PAGER.

-- 
Catalin

← back to recent threads