]> git.ipfire.org Git - thirdparty/git.git/blame - t/t1022-read-tree-partial-clone.sh
Sync with Git 2.45.1
[thirdparty/git.git] / t / t1022-read-tree-partial-clone.sh
CommitLineData
d3da223f
JT
1#!/bin/sh
2
3test_description='git read-tree in partial clones'
4
5TEST_NO_CREATE_REPO=1
e5e37517 6TEST_PASSES_SANITIZE_LEAK=true
d3da223f
JT
7. ./test-lib.sh
8
9test_expect_success 'read-tree in partial clone prefetches in one batch' '
10 test_when_finished "rm -rf server client trace" &&
11
12 git init server &&
13 echo foo >server/one &&
14 echo bar >server/two &&
15 git -C server add one two &&
16 git -C server commit -m "initial commit" &&
17 TREE=$(git -C server rev-parse HEAD^{tree}) &&
18
19 git -C server config uploadpack.allowfilter 1 &&
20 git -C server config uploadpack.allowanysha1inwant 1 &&
21 git clone --bare --filter=blob:none "file://$(pwd)/server" client &&
dc5d40f5 22 GIT_TRACE_PACKET="$(pwd)/trace" git -C client read-tree $TREE $TREE &&
d3da223f
JT
23
24 # "done" marks the end of negotiation (once per fetch). Expect that
25 # only one fetch occurs.
26 grep "fetch> done" trace >donelines &&
27 test_line_count = 1 donelines
28'
29
30test_done