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:06

On Thu, Jul 08, 2010 at 02:19:42PM +0200, Jakub Narebski wrote:
Nevertheless for the patch output format both "git diff --relative=sub"
and "git diff --relative=sub/" give the same output, without 'b//quux'.
The same IMHO should be done for raw output format, so we don't have
'/quux' but 'quux'.
Hmm. That is because the diff output properly eliminates the double "/".
But AFAICT, all of the following do what I would expect:

  git diff --relative=sub
  git diff --relative=sub/ ;# same as above
  git diff --relative=foo- ;# yields "a/10" for file "foo-10"

Doing

  git diff --relative=sub --stat

shows the same issue as your --raw version, as does --name-only. I think
the right solution is to clean up a leading "/" for those cases. That
leaves the possibility for non-directory prefixes, but should do what
the user wants in the directory case (since a leading "/" is
nonsensical).

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).

-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