Thread (10 messages) flat view 10 messages, 2 authors, 2016-06-15

Re: [BUG/RFC] Raw diff output format (git-diff-tree) and --relative[=<path>] option

From: Jeff King <hidden>
Date: 2016-06-15 22:49:16

On Thu, Jul 08, 2010 at 04:56:20PM +0200, Jakub Narebski wrote:
quoted
Or was that what you had in mind the whole time? My impression was that
you wanted --relative=foo to always be equivalent to --relative=foo/.
The subtle difference is that I want the "/" removed only if it is the
next character (or another way of thinking about it is to append "/" to
the prefix only if it is an actual directory).
What I wanted is for "git diff-tree A B --relative=sub" to behave as
"git diff-tree A:sub B:sub".  Currently without -r / -t (without turning
on recursive mode) it produces no output; well at least no output if
'sub' is really subdirectory.
I think this is a separate issue from the extra slash problem. I don't
think it would hurt anything to enable "-r" automatically in diff-tree,
but _only_ if we know that the prefix we stripped ended in "/". Since
that is just changing a case that is already nonsensical, whereas
turning on recursion for "git diff-tree --relative=foo- A B" would
actually be a change in behavior.

It should be possible, but it is a bit more surgery, since the prefix
stripping code is pretty dumb currently.
What's more I wanted for "git diff --raw" in any combination to behave
the same... although I guess here point is moot, as "git diff" is
automatically recursive regardless of output format, and you can't turn
it off.
Yeah, I think "git diff" already does what you want, since 82cb8af
(git-diff: turn on recursion by default, 2007-07-29).

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