On 4/27/2022 4:37 PM, Junio C Hamano wrote: > SZEDER Gábor <szeder.dev@xxxxxxxxx> writes: > >> According to the documentation 'safe.directory' "is only respected >> when specified in a system or global config, not when it is specified >> in a repository config or via the command line option -c >> safe.directory=<path>". >> >> Add tests to check that 'safe.directory' in the repository config or >> on the command line is indeed ignored. >> >> Signed-off-by: SZEDER Gábor <szeder.dev@xxxxxxxxx> >> --- >> t/t0033-safe-directory.sh | 13 +++++++++++++ >> 1 file changed, 13 insertions(+) >> >> diff --git a/t/t0033-safe-directory.sh b/t/t0033-safe-directory.sh >> index 6f9680e8b0..82dac0eb93 100755 >> --- a/t/t0033-safe-directory.sh >> +++ b/t/t0033-safe-directory.sh >> @@ -16,6 +16,19 @@ test_expect_success 'safe.directory is not set' ' >> expect_rejected_dir >> ' >> >> +test_expect_success 'ignoring safe.directory on the command line' ' >> + test_must_fail git -c safe.directory="$(pwd)" status 2>err && >> + grep "unsafe repository" err >> +' >> + >> +test_expect_success 'ignoring safe.directory in repo config' ' >> + ( >> + unset GIT_TEST_ASSUME_DIFFERENT_OWNER && >> + git config safe.directory "$(pwd)" >> + ) && >> + expect_rejected_dir >> +' > > I am debating myself if we want to remove the in-repository > safe.directory configuration setting after this test piece is done, > with test_when_finished. We just made sure, with this test, that > having the variable does not affect anything, so the subsequent > tests should not care hence it is probably OK. On the other hand, > to make sure those settings they make (e.g. setting it globally is > what the next test we can see below does) is what affects their > outcome, it removes one more thing we need to worry about if we > clean after ourselves. I dunno. test_config would do the same, right? I think it automatically does the test_when_finished for us. Thanks, -Stolee