]> git.ipfire.org Git - thirdparty/git.git/commitdiff
t1509: fix failing "root work tree" test due to owner-check
authorEric Sunshine <sunshine@sunshineco.com>
Mon, 21 Nov 2022 03:00:19 +0000 (03:00 +0000)
committerJunio C Hamano <gitster@pobox.com>
Fri, 9 Dec 2022 01:41:58 +0000 (10:41 +0900)
When 8959555cee (setup_git_directory(): add an owner check for the
top-level directory, 2022-03-02) tightened security surrounding
directory ownership, it neglected to adjust t1509-root-work-tree.sh to
take the new restriction into account. As a result, since the root
directory `/` is typically not owned by the user running the test
(indeed, t1509 refuses to run as `root`), the ownership check added
by 8959555cee kicks in and causes the test to fail:

    fatal: detected dubious ownership in repository at '/'
    To add an exception for this directory, call:

        git config --global --add safe.directory /

This problem went unnoticed for so long because t1509 is rarely run
since it requires setting up a `chroot` environment or a sacrificial
virtual machine in which `/` can be made writable and polluted by any
user.

Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
t/t1509-root-work-tree.sh

index 553a3f601ba7c76efa193d4a33823197c05281e7..eb57fe7e19fd3d2f5544fd35546e8deca58ce068 100755 (executable)
@@ -221,7 +221,8 @@ test_expect_success 'setup' '
        rm -rf /.git &&
        echo "Initialized empty Git repository in /.git/" > expected &&
        git init > result &&
-       test_cmp expected result
+       test_cmp expected result &&
+       git config --global --add safe.directory /
 '
 
 test_vars 'auto gitdir, root' ".git" "/" ""