summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSZEDER Gábor <szeder.dev@gmail.com>2022-04-27 19:06:48 +0200
committerJunio C Hamano <gitster@pobox.com>2022-04-27 22:30:55 +0200
commit424f315d9f15338ee950f343e01becd6f087121b (patch)
tree9ea0a5eda3dfb2de376e61e7a457eb6745c0823e
parentt0033-safe-directory: check the error message without matching the trash dir (diff)
downloadgit-424f315d9f15338ee950f343e01becd6f087121b.tar.xz
git-424f315d9f15338ee950f343e01becd6f087121b.zip
t0033-safe-directory: check when 'safe.directory' is ignored
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@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-xt/t0033-safe-directory.sh13
1 files changed, 13 insertions, 0 deletions
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
+'
+
test_expect_success 'safe.directory does not match' '
git config --global safe.directory bogus &&
expect_rejected_dir