Thread (9 messages) flat view 9 messages, 5 authors, 2016-06-15

Re: [PATCH] Add color to git-add--interactive diffs (Total different idea to solve the problem)

From: Peter Baumann <hidden>
Date: 2016-06-15 22:43:44

On Tue, Oct 23, 2007 at 12:55:44AM +0100, Johannes Schindelin wrote:
Hi,

On Mon, 22 Oct 2007, Peter Baumann wrote:
quoted
Wouldn't it make more sense to implement the diff coloring inside git 
apply so that you could use something like

        diff file1 file2|git apply --color

to make the generated diff with colors [1]? It already implements the
same semantic for generating a diffstat, using

        diff file1 file2|git apply --stat
No.  In both cases, "git diff" realises that the output is no terminal, 
and switches off color generation.  (Just try with diff.color=true instead 
of =auto.)
I didn't mean git-diff here, instead I meant diff, so no coloring involved
on the diff side. The git-apply would be enhanced to do the coloring on
every diff it gets on its STDIN.

In the git-add -i case, the perl script whould do something along these
lines:

	foreach my $file (@files) {
		# read in the diff of a file *WITHOUT* using color
		@diff = `git-diff-files $file`;

		# ... store it away for later use in hunk selection ...


		# print out a nice colored diff for the user
		`echo @diff | git apply --color`
	}

Instead of handcoding the colorization in the git-add--interactive perl
script, just enhance git-apply to do the colorization *after the fact* for
you on _any_ patch you throw at it in its STDIN.

-Peter
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help