On Tue, Nov 5, 2019 at 1:56 PM Jonathan Tan <jonathantanmy@xxxxxxxxxx> wrote: > diff --git a/t/t5616-partial-clone.sh b/t/t5616-partial-clone.sh > @@ -296,6 +296,76 @@ test_expect_success 'partial clone with unresolvable sparse filter fails cleanly > +setup_triangle () { > + rm -rf big-blob.txt server client promisor-remote && > + > + printf "line %d\n" $(test_seq 1 100) >big-blob.txt Broken &&-chain. > + # Create a server with 2 commits: a commit with a big blob and a child > + # commit with an incremental change. Also, create a partial clone > + # client that only contains the first commit. > + git init server && > + git -C server config --local uploadpack.allowfilter 1 && > + cp big-blob.txt server && > + git -C server add big-blob.txt && > + git -C server commit -m "initial" && > + git clone --bare --filter=tree:0 "file://$(pwd)/server" client && > + echo another line >>server/big-blob.txt && > + git -C server commit -am "append line to big blob" && > + > + # Create a promisor remote that only contains the blob from the first > + # commit, and set it as the promisor remote of client. Thus, whenever > + # the client lazy fetches, the lazy fetch will succeed only if it is > + # for this blob. > + git init promisor-remote && > + test_commit -C promisor-remote one && # so that ref advertisement is not empty > + git -C promisor-remote config --local uploadpack.allowanysha1inwant 1 && > + git -C promisor-remote hash-object -w --stdin <big-blob.txt && > + git -C client remote set-url origin "file://$(pwd)/promisor-remote" > +}