about summary refs log tree commit diff
path: root/third_party/git/t/t5500-fetch-pack.sh
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/git/t/t5500-fetch-pack.sh')
-rwxr-xr-xthird_party/git/t/t5500-fetch-pack.sh77
1 files changed, 9 insertions, 68 deletions
diff --git a/third_party/git/t/t5500-fetch-pack.sh b/third_party/git/t/t5500-fetch-pack.sh
index baa1a99f45..1c71c0ec77 100755
--- a/third_party/git/t/t5500-fetch-pack.sh
+++ b/third_party/git/t/t5500-fetch-pack.sh
@@ -440,12 +440,11 @@ test_expect_success 'setup tests for the --stdin parameter' '
 '
 
 test_expect_success 'setup fetch refs from cmdline v[12]' '
-	cp -r client client0 &&
 	cp -r client client1 &&
 	cp -r client client2
 '
 
-for version in '' 0 1 2
+for version in '' 1 2
 do
 	test_expect_success "protocol.version=$version fetch refs from cmdline" "
 		(
@@ -639,7 +638,7 @@ test_expect_success 'fetch-pack cannot fetch a raw sha1 that is not advertised a
 	git init client &&
 	# Some protocol versions (e.g. 2) support fetching
 	# unadvertised objects, so restrict this test to v0.
-	test_must_fail env GIT_TEST_PROTOCOL_VERSION=0 git -C client fetch-pack ../server \
+	test_must_fail env GIT_TEST_PROTOCOL_VERSION= git -C client fetch-pack ../server \
 		$(git -C server rev-parse refs/heads/master^) 2>err &&
 	test_i18ngrep "Server does not allow request for unadvertised object" err
 '
@@ -709,22 +708,13 @@ do
 	# file with scheme
 	for p in file
 	do
-		test_expect_success !MINGW "fetch-pack --diag-url $p://$h/$r" '
+		test_expect_success "fetch-pack --diag-url $p://$h/$r" '
 			check_prot_path $p://$h/$r $p "/$r"
 		'
-		test_expect_success MINGW "fetch-pack --diag-url $p://$h/$r" '
-			check_prot_path $p://$h/$r $p "//$h/$r"
-		'
-		test_expect_success MINGW "fetch-pack --diag-url $p:///$r" '
-			check_prot_path $p:///$r $p "/$r"
-		'
 		# No "/~" -> "~" conversion for file
-		test_expect_success !MINGW "fetch-pack --diag-url $p://$h/~$r" '
+		test_expect_success "fetch-pack --diag-url $p://$h/~$r" '
 			check_prot_path $p://$h/~$r $p "/~$r"
 		'
-		test_expect_success MINGW "fetch-pack --diag-url $p://$h/~$r" '
-			check_prot_path $p://$h/~$r $p "//$h/~$r"
-		'
 	done
 	# file without scheme
 	for h in nohost nohost:12 [::1] [::1]:23 [ [:aa
@@ -793,44 +783,6 @@ test_expect_success 'clone shallow since selects no commits' '
 	)
 '
 
-# A few subtle things about the request in this test:
-#
-#  - the server must have commit-graphs present and enabled
-#
-#  - the history is such that our want/have share a common ancestor ("base"
-#    here)
-#
-#  - we send only a single have, which is fewer than a normal client would
-#    send. This ensures that we don't parse "base" up front with
-#    parse_object(), but rather traverse to it as a parent while deciding if we
-#    can stop the "have" negotiation, and call parse_commit(). The former
-#    sees the actual object data and so always loads the three oid, whereas the
-#    latter will try to load it lazily.
-#
-#  - we must use protocol v2, because it handles the "have" negotiation before
-#    processing the shallow directives
-#
-test_expect_success 'shallow since with commit graph and already-seen commit' '
-	test_create_repo shallow-since-graph &&
-	(
-	cd shallow-since-graph &&
-	test_commit base &&
-	test_commit master &&
-	git checkout -b other HEAD^ &&
-	test_commit other &&
-	git commit-graph write --reachable &&
-	git config core.commitGraph true &&
-
-	GIT_PROTOCOL=version=2 git upload-pack . <<-EOF >/dev/null
-	0012command=fetch
-	00010013deepen-since 1
-	0032want $(git rev-parse other)
-	0032have $(git rev-parse master)
-	0000
-	EOF
-	)
-'
-
 test_expect_success 'shallow clone exclude tag two' '
 	test_create_repo shallow-exclude &&
 	(
@@ -918,10 +870,7 @@ test_expect_success 'filtering by size' '
 	git -C client fetch-pack --filter=blob:limit=0 ../server HEAD &&
 
 	# Ensure that object is not inadvertently fetched
-	commit=$(git -C server rev-parse HEAD) &&
-	blob=$(git hash-object server/one.t) &&
-	git -C client rev-list --objects --missing=allow-any "$commit" >oids &&
-	! grep "$blob" oids
+	test_must_fail git -C client cat-file -e $(git hash-object server/one.t)
 '
 
 test_expect_success 'filtering by size has no effect if support for it is not advertised' '
@@ -933,10 +882,7 @@ test_expect_success 'filtering by size has no effect if support for it is not ad
 	git -C client fetch-pack --filter=blob:limit=0 ../server HEAD 2> err &&
 
 	# Ensure that object is fetched
-	commit=$(git -C server rev-parse HEAD) &&
-	blob=$(git hash-object server/one.t) &&
-	git -C client rev-list --objects --missing=allow-any "$commit" >oids &&
-	grep "$blob" oids &&
+	git -C client cat-file -e $(git hash-object server/one.t) &&
 
 	test_i18ngrep "filtering not recognized by server" err
 '
@@ -958,11 +904,9 @@ fetch_filter_blob_limit_zero () {
 	git -C client fetch --filter=blob:limit=0 origin HEAD:somewhere &&
 
 	# Ensure that commit is fetched, but blob is not
-	commit=$(git -C "$SERVER" rev-parse two) &&
-	blob=$(git hash-object server/two.t) &&
-	git -C client rev-list --objects --missing=allow-any "$commit" >oids &&
-	grep "$commit" oids &&
-	! grep "$blob" oids
+	test_config -C client extensions.partialclone "arbitrary string" &&
+	git -C client cat-file -e $(git -C "$SERVER" rev-parse two) &&
+	test_must_fail git -C client cat-file -e $(git hash-object "$SERVER/two.t")
 }
 
 test_expect_success 'fetch with --filter=blob:limit=0' '
@@ -976,7 +920,4 @@ test_expect_success 'fetch with --filter=blob:limit=0 and HTTP' '
 	fetch_filter_blob_limit_zero "$HTTPD_DOCUMENT_ROOT_PATH/server" "$HTTPD_URL/smart/server"
 '
 
-# DO NOT add non-httpd-specific tests here, because the last part of this
-# test script is only executed when httpd is available and enabled.
-
 test_done