threads / discuss / 12727

gitk: how to apply '--color-words' to the diff command

Subject: gitk: how to apply '--color-words' to the diff command

## tl;dr

3 messages between Mar 17, 2008 and Mar 18, 2008.

replies: 2people: 2as markdown or json

Dirk Süsserott· Mar 17, 2008, 19:18 UTC · lore
Hello,

a few days ago I found a patch for gitk that adds a checkbox 'Ignore space change' to the gitk GUI and -- when clicked -- adds the '-w' switch to the diff command. I found that a very convenient way to see 'what has really changed'. The patch was contributed by Steffen Prohaska and has sha1 b9b86007e27d9a06d58feab618a5be1d491ed13e in the git://git.kernel.org/pub/scm/git/git.git repository.

Inspired by this, I thought a '--color-words' switch would be even more convenient. I took the patch as a template and kinda replaced all occurences of '-w' with '--color-words' (do not take this literally).

Unfortunately gitk then shows the diffs not colorized but with those ugly escape sequences instead. I'm not a Python person and just able to 'copy and waste', but probably some of you had the same idea and got it right.

Dirk
Dirk Süsserott· Mar 18, 2008, 20:55 UTC · re: Dirk Süsserott · lore

Re: gitk: how to apply '--color-words' to the diff command

Show 17 quoted lines
>
> a few days ago I found a patch for gitk that adds a checkbox 'Ignore 
> space change' to the gitk GUI and -- when clicked -- adds the '-w' 
> switch to the diff command. I found that a very convenient way to see 
> 'what has really changed'. The patch was contributed by Steffen 
> Prohaska and has sha1 b9b86007e27d9a06d58feab618a5be1d491ed13e in the
> git://git.kernel.org/pub/scm/git/git.git repository.
>
> Inspired by this, I thought a '--color-words' switch would be even more
> convenient. I took the patch as a template and kinda replaced all
> occurences of '-w' with '--color-words' (do not take this literally).
>
> Unfortunately gitk then shows the diffs not colorized but with those 
> ugly escape sequences instead. I'm not a Python person and just able 
> to 'copy and waste', but probably some of you had the same idea and 
> got it right.
>

I'm not only not a Python person but also not a Tcl person. Did't even figure out the difference. :-(

However, what I figured out is that it's not as simple as I thought: The colorization in question is hard coded in the last 'else' branch of 'getblobdiffline'. When a line starts with a '+' or '-', then it's shown in green or red. To support the --color-words switch it would be neccessary to actually parse diff's output wrt. to the colors. Not that easy, I guess.

Sorry for the noise.
Dirk
Dirk Süsserott· Mar 18, 2008, 20:58 UTC · re: Dirk Süsserott · lore

Re: gitk: how to apply '--color-words' to the diff command

Show 17 quoted lines
>
> a few days ago I found a patch for gitk that adds a checkbox 'Ignore 
> space change' to the gitk GUI and -- when clicked -- adds the '-w' 
> switch to the diff command. I found that a very convenient way to see 
> 'what has really changed'. The patch was contributed by Steffen 
> Prohaska and has sha1 b9b86007e27d9a06d58feab618a5be1d491ed13e in the
> git://git.kernel.org/pub/scm/git/git.git repository.
>
> Inspired by this, I thought a '--color-words' switch would be even more
> convenient. I took the patch as a template and kinda replaced all
> occurences of '-w' with '--color-words' (do not take this literally).
>
> Unfortunately gitk then shows the diffs not colorized but with those 
> ugly escape sequences instead. I'm not a Python person and just able 
> to 'copy and waste', but probably some of you had the same idea and 
> got it right.
>

I'm not only not a Python person but also not a Tcl person. Did't even figure out the difference. Sorry for that.

However, what I figured out is that it's not as simple as I thought: The colorization in question is hard coded in the last 'else' branch of 'getblobdiffline'. When a line starts with a '+' or '-', then it's shown in green or red. To support the --color-words switch it would be neccessary to actually parse diff's output wrt. to the colors.

Sorry for the noise.
Dirk

← back to recent threads