diff: strip extra "/" when stripping prefix · wolfpython/git@d8faea9 · GitHub
Skip to content

Commit d8faea9

Browse files
jnarebgitster
authored andcommitted
diff: strip extra "/" when stripping prefix
There are two ways a user might want to use "diff --relative": 1. For a file in a directory, like "subdir/file", the user can use "--relative=subdir/" to strip the directory. 2. To strip part of a filename, like "foo-10", they can use "--relative=foo-". We currently handle both of those situations. However, if the user passes "--relative=subdir" (without the trailing slash), we produce inconsistent results. For the unified diff format, we collapse the double-slash of "a//file" correctly into "a/file". But for other formats (raw, stat, name-status), we end up with "/file". We can do what the user means here and strip the extra "/" (and only a slash). We are not hurting any existing users of (2) above with this behavior change because the existing output for this case was nonsensical. Patch by Jakub, tests and commit message by Jeff King. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
1 parent 497d9c3 commit d8faea9

2 files changed

Lines changed: 69 additions & 2 deletions

File tree

diff.c

Lines changed: 8 additions & 2 deletions

t/t4045-diff-relative.sh

Lines changed: 61 additions & 0 deletions

0 commit comments

Comments
 (0)