]>
Commit | Line | Data |
---|---|---|
89284c1d TB |
1 | #!/bin/sh |
2 | ||
3 | test_description='git receive-pack with alternate ref filtering' | |
4 | ||
966b4be2 | 5 | GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main |
334afbc7 JS |
6 | export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME |
7 | ||
89284c1d TB |
8 | . ./test-lib.sh |
9 | ||
10 | test_expect_success 'setup' ' | |
11 | test_commit base && | |
12 | git clone -s --bare . fork && | |
966b4be2 | 13 | git checkout -b public/branch main && |
89284c1d | 14 | test_commit public && |
966b4be2 | 15 | git checkout -b private/branch main && |
89284c1d TB |
16 | test_commit private |
17 | ' | |
18 | ||
19 | extract_haves () { | |
20 | depacketize | perl -lne '/^(\S+) \.have/ and print $1' | |
21 | } | |
22 | ||
23 | test_expect_success 'with core.alternateRefsCommand' ' | |
24 | write_script fork/alternate-refs <<-\EOF && | |
25 | git --git-dir="$1" for-each-ref \ | |
26 | --format="%(objectname)" \ | |
27 | refs/heads/public/ | |
28 | EOF | |
e6641d2f | 29 | test_config -C fork core.alternateRefsCommand ./alternate-refs && |
89284c1d TB |
30 | git rev-parse public/branch >expect && |
31 | printf "0000" | git receive-pack fork >actual && | |
32 | extract_haves <actual >actual.haves && | |
33 | test_cmp expect actual.haves | |
34 | ' | |
35 | ||
40f327fa TB |
36 | test_expect_success 'with core.alternateRefsPrefixes' ' |
37 | test_config -C fork core.alternateRefsPrefixes "refs/heads/private" && | |
38 | git rev-parse private/branch >expect && | |
39 | printf "0000" | git receive-pack fork >actual && | |
40 | extract_haves <actual >actual.haves && | |
41 | test_cmp expect actual.haves | |
42 | ' | |
43 | ||
89284c1d | 44 | test_done |