@@ -17,101 +17,100 @@ test_expect_success setup '
1717 commit1=$(echo modify | git commit-tree $tree1 -p $commit0) &&
1818 git update-ref refs/heads/master $commit0 &&
1919 git update-ref refs/heads/tofail $commit1 &&
20- git clone ./. victim &&
21- GIT_DIR=victim/.git git config receive.denyCurrentBranch warn &&
22- GIT_DIR=victim/.git git update-ref refs/heads/tofail $commit1 &&
20+ git clone --bare ./. victim.git &&
21+ GIT_DIR=victim.git git update-ref refs/heads/tofail $commit1 &&
2322 git update-ref refs/heads/master $commit1 &&
2423 git update-ref refs/heads/tofail $commit0
2524'
2625
27- cat > victim/ .git/hooks/pre-receive << 'EOF '
26+ cat > victim.git/hooks/pre-receive << 'EOF '
2827#!/bin/sh
2928printf %s "$@" >>$GIT_DIR/pre-receive.args
3029cat - >$GIT_DIR/pre-receive.stdin
3130echo STDOUT pre-receive
3231echo STDERR pre-receive >&2
3332EOF
34- chmod u+x victim/ .git/hooks/pre-receive
33+ chmod u+x victim.git/hooks/pre-receive
3534
36- cat > victim/ .git/hooks/update << 'EOF '
35+ cat > victim.git/hooks/update << 'EOF '
3736#!/bin/sh
3837echo "$@" >>$GIT_DIR/update.args
3938read x; printf %s "$x" >$GIT_DIR/update.stdin
4039echo STDOUT update $1
4140echo STDERR update $1 >&2
4241test "$1" = refs/heads/master || exit
4342EOF
44- chmod u+x victim/ .git/hooks/update
43+ chmod u+x victim.git/hooks/update
4544
46- cat > victim/ .git/hooks/post-receive << 'EOF '
45+ cat > victim.git/hooks/post-receive << 'EOF '
4746#!/bin/sh
4847printf %s "$@" >>$GIT_DIR/post-receive.args
4948cat - >$GIT_DIR/post-receive.stdin
5049echo STDOUT post-receive
5150echo STDERR post-receive >&2
5251EOF
53- chmod u+x victim/ .git/hooks/post-receive
52+ chmod u+x victim.git/hooks/post-receive
5453
55- cat > victim/ .git/hooks/post-update << 'EOF '
54+ cat > victim.git/hooks/post-update << 'EOF '
5655#!/bin/sh
5756echo "$@" >>$GIT_DIR/post-update.args
5857read x; printf %s "$x" >$GIT_DIR/post-update.stdin
5958echo STDOUT post-update
6059echo STDERR post-update >&2
6160EOF
62- chmod u+x victim/ .git/hooks/post-update
61+ chmod u+x victim.git/hooks/post-update
6362
6463test_expect_success push '
65- test_must_fail git send-pack --force ./victim/ .git \
64+ test_must_fail git send-pack --force ./victim.git \
6665 master tofail >send.out 2>send.err
6766'
6867
6968test_expect_success ' updated as expected' '
70- test $(GIT_DIR=victim/ .git git rev-parse master) = $commit1 &&
71- test $(GIT_DIR=victim/ .git git rev-parse tofail) = $commit1
69+ test $(GIT_DIR=victim.git git rev-parse master) = $commit1 &&
70+ test $(GIT_DIR=victim.git git rev-parse tofail) = $commit1
7271'
7372
7473test_expect_success ' hooks ran' '
75- test -f victim/ .git/pre-receive.args &&
76- test -f victim/ .git/pre-receive.stdin &&
77- test -f victim/ .git/update.args &&
78- test -f victim/ .git/update.stdin &&
79- test -f victim/ .git/post-receive.args &&
80- test -f victim/ .git/post-receive.stdin &&
81- test -f victim/ .git/post-update.args &&
82- test -f victim/ .git/post-update.stdin
74+ test -f victim.git/pre-receive.args &&
75+ test -f victim.git/pre-receive.stdin &&
76+ test -f victim.git/update.args &&
77+ test -f victim.git/update.stdin &&
78+ test -f victim.git/post-receive.args &&
79+ test -f victim.git/post-receive.stdin &&
80+ test -f victim.git/post-update.args &&
81+ test -f victim.git/post-update.stdin
8382'
8483
8584test_expect_success ' pre-receive hook input' '
8685 (echo $commit0 $commit1 refs/heads/master;
8786 echo $commit1 $commit0 refs/heads/tofail
88- ) | test_cmp - victim/ .git/pre-receive.stdin
87+ ) | test_cmp - victim.git/pre-receive.stdin
8988'
9089
9190test_expect_success ' update hook arguments' '
9291 (echo refs/heads/master $commit0 $commit1;
9392 echo refs/heads/tofail $commit1 $commit0
94- ) | test_cmp - victim/ .git/update.args
93+ ) | test_cmp - victim.git/update.args
9594'
9695
9796test_expect_success ' post-receive hook input' '
9897 echo $commit0 $commit1 refs/heads/master |
99- test_cmp - victim/ .git/post-receive.stdin
98+ test_cmp - victim.git/post-receive.stdin
10099'
101100
102101test_expect_success ' post-update hook arguments' '
103102 echo refs/heads/master |
104- test_cmp - victim/ .git/post-update.args
103+ test_cmp - victim.git/post-update.args
105104'
106105
107106test_expect_success ' all hook stdin is /dev/null' '
108- ! test -s victim/ .git/update.stdin &&
109- ! test -s victim/ .git/post-update.stdin
107+ ! test -s victim.git/update.stdin &&
108+ ! test -s victim.git/post-update.stdin
110109'
111110
112111test_expect_success ' all *-receive hook args are empty' '
113- ! test -s victim/ .git/pre-receive.args &&
114- ! test -s victim/ .git/post-receive.args
112+ ! test -s victim.git/pre-receive.args &&
113+ ! test -s victim.git/post-receive.args
115114'
116115
117116test_expect_success ' send-pack produced no output' '
@@ -125,14 +124,15 @@ remote: STDOUT update refs/heads/master
125124remote: STDERR update refs/heads/master
126125remote: STDOUT update refs/heads/tofail
127126remote: STDERR update refs/heads/tofail
127+ remote: error: hook declined to update refs/heads/tofail
128128remote: STDOUT post-receive
129129remote: STDERR post-receive
130130remote: STDOUT post-update
131131remote: STDERR post-update
132132EOF
133133test_expect_success ' send-pack stderr contains hook messages' '
134134 grep ^remote: send.err | sed "s/ *\$//" >actual &&
135- test_cmp - actual <expect
135+ test_cmp expect actual
136136'
137137
138138test_done
0 commit comments