transport: teach all vtables to allow fetch first

The only transport that does not allow fetch() to be called before
get_refs_list() is the bundle transport. Clean up the code by teaching
the bundle transport the ability to do this, and removing support for
transports that don't support this order of invocation.

Signed-off-by: Jonathan Tan <jonathantanmy@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Jonathan Tan
2019-08-21 15:20:10 -07:00
committed by Junio C Hamano
parent ac3fda82bf
commit fddf2ebe38
4 changed files with 17 additions and 19 deletions

View File

@@ -83,4 +83,15 @@ test_expect_success 'failed bundle creation does not leave cruft' '
test_path_is_missing fail.bundle.lock
'
test_expect_success 'fetch SHA-1 from bundle' '
test_create_repo foo &&
test_commit -C foo x &&
git -C foo bundle create tip.bundle -1 master &&
git -C foo rev-parse HEAD >hash &&
# Exercise to ensure that fetching a SHA-1 from a bundle works with no
# errors
git fetch --no-tags foo/tip.bundle "$(cat hash)"
'
test_done