Re: [PATCH 4/8] tests: verify that `clone -c core.hooksPath=/dev/null` works again
- From
Junio C Hamano <gitster@pobox.com>
- Date
- May 18, 2024, 00:10 UTC
- Message-ID
- <xmqq4jawdlpa.fsf@gitster.g>
- In-Reply-To
- <7d5ef6db2a9c3c7a1b0ba78873d4202403768769.1715987756.git.gitgitgadget@gmail.com>
"Johannes Schindelin via GitGitGadget" <gitgitgadget@gmail.com> writes:
Show 16 quoted lines
> What the added protection did not anticipate is that such a > repository-local `core.hooksPath` can not only be used to point to > maliciously-placed scripts in the current worktree, but also to > _prevent_ hooks from being called altogether. > ... > diff --git a/t/t1350-config-hooks-path.sh b/t/t1350-config-hooks-path.sh > index f6dc83e2aab..1eae346a6e3 100755 > --- a/t/t1350-config-hooks-path.sh > +++ b/t/t1350-config-hooks-path.sh > @@ -41,4 +41,8 @@ test_expect_success 'git rev-parse --git-path hooks' ' > test .git/custom-hooks/abc = "$(cat actual)" > ' > > +test_expect_success 'core.hooksPath=/dev/null' ' > + git clone -c core.hooksPath=/dev/null . no-templates > +'
Is it sufficient that the command exits with 0? I am wondering if we want to verify that the resulting repository looks like it should, e.g., with
v=$(git -C no-templates config --local --get core.hookspath) &&
test "$v" = /dev/nullor something silly like that.