clone: fix ref selection in --single-branch --branch=xxx
- do not fetch HEAD - do not also fetch refs following "xxx" Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
785ee4960c
commit
0ec4b1650c
@ -433,8 +433,11 @@ static struct ref *wanted_peer_refs(const struct ref *refs,
|
|||||||
|
|
||||||
if (!option_branch)
|
if (!option_branch)
|
||||||
remote_head = guess_remote_head(head, refs, 0);
|
remote_head = guess_remote_head(head, refs, 0);
|
||||||
else
|
else {
|
||||||
remote_head = find_remote_branch(refs, option_branch);
|
local_refs = NULL;
|
||||||
|
tail = &local_refs;
|
||||||
|
remote_head = copy_ref(find_remote_branch(refs, option_branch));
|
||||||
|
}
|
||||||
|
|
||||||
if (!remote_head && option_branch)
|
if (!remote_head && option_branch)
|
||||||
warning(_("Could not find remote branch %s to clone."),
|
warning(_("Could not find remote branch %s to clone."),
|
||||||
|
@ -125,6 +125,11 @@ test_expect_success 'single branch object count' '
|
|||||||
test_cmp expected count.singlebranch
|
test_cmp expected count.singlebranch
|
||||||
'
|
'
|
||||||
|
|
||||||
|
test_expect_success 'single given branch clone' '
|
||||||
|
git clone --single-branch --branch A "file://$(pwd)/." branch-a &&
|
||||||
|
test_must_fail git --git-dir=branch-a/.git rev-parse origin/B
|
||||||
|
'
|
||||||
|
|
||||||
test_expect_success 'clone shallow' '
|
test_expect_success 'clone shallow' '
|
||||||
git clone --no-single-branch --depth 2 "file://$(pwd)/." shallow
|
git clone --no-single-branch --depth 2 "file://$(pwd)/." shallow
|
||||||
'
|
'
|
||||||
@ -276,7 +281,7 @@ test_expect_success 'clone shallow with --branch' '
|
|||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'clone shallow object count' '
|
test_expect_success 'clone shallow object count' '
|
||||||
echo "in-pack: 12" > count3.expected &&
|
echo "in-pack: 6" > count3.expected &&
|
||||||
GIT_DIR=shallow3/.git git count-objects -v |
|
GIT_DIR=shallow3/.git git count-objects -v |
|
||||||
grep "^in-pack" > count3.actual &&
|
grep "^in-pack" > count3.actual &&
|
||||||
test_cmp count3.expected count3.actual
|
test_cmp count3.expected count3.actual
|
||||||
|
Loading…
Reference in New Issue
Block a user