Thread (4 messages) flat view 4 messages, 3 authors, 2016-06-15

Re: [PATCH] Per-path attribute based hunk header selection.

From: Linus Torvalds <torvalds@linux-foundation.org>
Date: 2016-06-15 22:43:20

Possibly related (same subject, not in this thread)


On Fri, 6 Jul 2007, Junio C Hamano wrote:
This makes"diff -p" hunk headers customizable via gitattributes mechanism.
It is based on Johannes's earlier patch that allowed to define a single
regexp to be used for everything.
Ok, I think this is really nice, but I do wonder a bit about the syntax.

In particular, the "funcname" thing is really a pretty ugly special-case 
approach.

Wouldn't it be nicer to consider the "funcname=java" to be less of a 
"special case for the built-in diff", and instead think of it as a more 
generic issue of "how do we want to generate diffs for java files?"

IOW, wouldn't this be much nicer to be thought about as a "custon diff 
driver" issue?

So I like your patches, but dislike the config syntax, and would suggest 
something like

In .gitattributes:

	*.java diff=java
	*.perl diff=perl
	*.doc diff=doc

In .git/config

	[diff "java"]
		command = internal
		funcname = ... # ugly and complicated regexp to override the built-in one.

	[diff "perl"]
		command = internal
		funcname = ...

	[diff "doc"]
		command = ms-doc-diff

Doesn't this make more sense and mesh much better with the already 
existing custom diff driver?

(And yeah, maybe we could instead of "command=internal" just have the rule 
that "internal" is the default, and you'd not have a command at all when 
you want to run the internal diff.

Just an idea. I don't have any code.

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