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