]> git.ipfire.org Git - thirdparty/git.git/commitdiff
t5601: restore `.gitconfig` after includeIf test
authorJohannes Schindelin <johannes.schindelin@gmx.de>
Sun, 26 Apr 2026 14:38:33 +0000 (14:38 +0000)
committerJunio C Hamano <gitster@pobox.com>
Mon, 27 Apr 2026 05:50:53 +0000 (14:50 +0900)
One test in t5601 overwrites `$HOME/.gitconfig` with an `includeIf`
configuration snippet and removes the file in its cleanup. This
destroys the `safe.bareRepository=all` entry that test-lib.sh
writes when `WITH_BREAKING_CHANGES` is in effect, causing later
tests that use `git -C <bare-repo> config` to fail with "not in a
git directory".

Back up `.gitconfig` before overwriting and restore it in the
cleanup, so the global config survives into subsequent tests.

Assisted-by: Claude Opus 4.6
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t5601-clone.sh

index d743d986c401a0732fc4d8ae040c934ed4f9f2fe..3dd229c18672440f1abec5bc8539073befd7dd14 100755 (executable)
@@ -813,7 +813,9 @@ test_expect_success 'clone with includeIf' '
        test_when_finished "rm -rf repo \"$HTTPD_DOCUMENT_ROOT_PATH/repo.git\"" &&
        git clone --bare --no-local src "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" &&
 
-       test_when_finished "rm \"$HOME\"/.gitconfig" &&
+       test_when_finished "cp \"$HOME\"/.gitconfig.bak \
+               \"$HOME\"/.gitconfig 2>/dev/null || rm -f \"$HOME\"/.gitconfig" &&
+       cp "$HOME"/.gitconfig "$HOME"/.gitconfig.bak 2>/dev/null &&
        cat >"$HOME"/.gitconfig <<-EOF &&
        [includeIf "onbranch:something"]
                path = /does/not/exist.inc