On Wed, Dec 6, 2017 at 5:04 PM, Jeff King <peff@xxxxxxxx> wrote: > On Wed, Dec 06, 2017 at 04:35:17PM -0800, Jacob Keller wrote: > >> Subject: [PATCH] diff: add test showing regression to --relative > > Since we'd hopefully not ever merge that regression, I think this patch > ought to stand on its own. In which case it probably wants to say > something like: > > diff: test --relative without a prefix > > We already test "diff --relative=subdir", but not that > "--relative" by itself should use the current directory as > its prefix. > Yea, I wasn't sure what the actual status of the changes were though, so I thought I'd send the actual fix I did. It's definitely up to Christian in determining what he thinks the best path forward is. >> diff --git a/t/t4045-diff-relative.sh b/t/t4045-diff-relative.sh >> index 3950f5034d31..41e4f59b2ffb 100755 >> --- a/t/t4045-diff-relative.sh >> +++ b/t/t4045-diff-relative.sh >> @@ -70,4 +70,9 @@ for type in diff numstat stat raw; do >> check_$type dir/file2 --relative=sub >> done >> >> +cd subdir >> +for type in diff numstat stat raw; do >> + check_$type file2 --relative >> +done > > We should avoid moving the cwd of the whole test script in > case we add tests later. Normally we'd do the cd inside a > subshell, but that's complicated by the wrapper (we wouldn't > want to increment the test counter just inside the subshell, > for instance). > > Adding "cd .." is the smallest thing we could do to fix > that. But I think the more robust solution is to actually > teach the check_* helper about doing the "cd" inside the > test_expect block. Or just pushing the helper down into the > test block and living with repeating the > "test_expect_success" parts for each call. Yea, I tried cd inside the subshell and it didn't work, so I did this as the quicker solution. I think the best method would be to update the check_* helper functions to take a dir parameter, and use that to do git -C "dir" when calling the diff commands. Thanks, Jake > > -Peff