about summary refs log tree commit diff
path: root/third_party/git/t/t5509-fetch-push-namespaces.sh
diff options
context:
space:
mode:
authorVincent Ambo <mail@tazj.in>2021-09-21T10·03+0300
committerVincent Ambo <mail@tazj.in>2021-09-21T11·29+0300
commit43b1791ec601732ac31195df96781a848360a9ac (patch)
treedaae8d638343295d2f1f7da955e556ef4c958864 /third_party/git/t/t5509-fetch-push-namespaces.sh
parent2d8e7dc9d9c38127ec4ebd13aee8e8f586a43318 (diff)
chore(3p/git): Unvendor git and track patches instead r/2903
This was vendored a long time ago under the expectation that keeping
it in sync with cgit would be easier this way, but it has proven not
to be a big issue.

On the other hand, a vendored copy of git is an annoying maintenance
burden. It is much easier to rebase the single (dottime) patch that we
have.

This removes the vendored copy of git and instead passes the git
source code to cgit via `pkgs.srcOnly`, which includes the applied
patch so that cgit can continue rendering dottime.

Change-Id: If31f62dea7ce688fd1b9050204e9378019775f2b
Diffstat (limited to 'third_party/git/t/t5509-fetch-push-namespaces.sh')
-rwxr-xr-xthird_party/git/t/t5509-fetch-push-namespaces.sh166
1 files changed, 0 insertions, 166 deletions
diff --git a/third_party/git/t/t5509-fetch-push-namespaces.sh b/third_party/git/t/t5509-fetch-push-namespaces.sh
deleted file mode 100755
index a67f792adf..0000000000
--- a/third_party/git/t/t5509-fetch-push-namespaces.sh
+++ /dev/null
@@ -1,166 +0,0 @@
-#!/bin/sh
-
-test_description='fetch/push involving ref namespaces'
-. ./test-lib.sh
-
-test_expect_success setup '
-	git config --global protocol.ext.allow user &&
-	test_tick &&
-	git init original &&
-	(
-		cd original &&
-		echo 0 >count &&
-		git add count &&
-		test_commit 0 &&
-		echo 1 >count &&
-		git add count &&
-		test_commit 1 &&
-		git remote add pushee-namespaced "ext::git --namespace=namespace %s ../pushee" &&
-		git remote add pushee-unnamespaced ../pushee
-	) &&
-	commit0=$(cd original && git rev-parse HEAD^) &&
-	commit1=$(cd original && git rev-parse HEAD) &&
-	git init --bare pushee &&
-	git init puller
-'
-
-test_expect_success 'pushing into a repository using a ref namespace' '
-	(
-		cd original &&
-		git push pushee-namespaced master &&
-		git ls-remote pushee-namespaced >actual &&
-		printf "$commit1\trefs/heads/master\n" >expected &&
-		test_cmp expected actual &&
-		git push pushee-namespaced --tags &&
-		git ls-remote pushee-namespaced >actual &&
-		printf "$commit0\trefs/tags/0\n" >>expected &&
-		printf "$commit1\trefs/tags/1\n" >>expected &&
-		test_cmp expected actual &&
-		# Verify that the GIT_NAMESPACE environment variable works as well
-		GIT_NAMESPACE=namespace git ls-remote "ext::git %s ../pushee" >actual &&
-		test_cmp expected actual &&
-		# Verify that --namespace overrides GIT_NAMESPACE
-		GIT_NAMESPACE=garbage git ls-remote pushee-namespaced >actual &&
-		test_cmp expected actual &&
-		# Try a namespace with no content
-		git ls-remote "ext::git --namespace=garbage %s ../pushee" >actual &&
-		test_must_be_empty actual &&
-		git ls-remote pushee-unnamespaced >actual &&
-		sed -e "s|refs/|refs/namespaces/namespace/refs/|" expected >expected.unnamespaced &&
-		test_cmp expected.unnamespaced actual
-	)
-'
-
-test_expect_success 'pulling from a repository using a ref namespace' '
-	(
-		cd puller &&
-		git remote add -f pushee-namespaced "ext::git --namespace=namespace %s ../pushee" &&
-		git for-each-ref refs/ >actual &&
-		printf "$commit1 commit\trefs/remotes/pushee-namespaced/master\n" >expected &&
-		printf "$commit0 commit\trefs/tags/0\n" >>expected &&
-		printf "$commit1 commit\trefs/tags/1\n" >>expected &&
-		test_cmp expected actual
-	)
-'
-
-# This test with clone --mirror checks for possible regressions in clone
-# or the machinery underneath it. It ensures that no future change
-# causes clone to ignore refs in refs/namespaces/*. In particular, it
-# protects against a regression caused by any future change to the refs
-# machinery that might cause it to ignore refs outside of refs/heads/*
-# or refs/tags/*. More generally, this test also checks the high-level
-# functionality of using clone --mirror to back up a set of repos hosted
-# in the namespaces of a single repo.
-test_expect_success 'mirroring a repository using a ref namespace' '
-	git clone --mirror pushee mirror &&
-	(
-		cd mirror &&
-		git for-each-ref refs/ >actual &&
-		printf "$commit1 commit\trefs/namespaces/namespace/refs/heads/master\n" >expected &&
-		printf "$commit0 commit\trefs/namespaces/namespace/refs/tags/0\n" >>expected &&
-		printf "$commit1 commit\trefs/namespaces/namespace/refs/tags/1\n" >>expected &&
-		test_cmp expected actual
-	)
-'
-
-test_expect_success 'hide namespaced refs with transfer.hideRefs' '
-	GIT_NAMESPACE=namespace \
-		git -C pushee -c transfer.hideRefs=refs/tags \
-		ls-remote "ext::git %s ." >actual &&
-	printf "$commit1\trefs/heads/master\n" >expected &&
-	test_cmp expected actual
-'
-
-test_expect_success 'check that transfer.hideRefs does not match unstripped refs' '
-	GIT_NAMESPACE=namespace \
-		git -C pushee -c transfer.hideRefs=refs/namespaces/namespace/refs/tags \
-		ls-remote "ext::git %s ." >actual &&
-	printf "$commit1\trefs/heads/master\n" >expected &&
-	printf "$commit0\trefs/tags/0\n" >>expected &&
-	printf "$commit1\trefs/tags/1\n" >>expected &&
-	test_cmp expected actual
-'
-
-test_expect_success 'hide full refs with transfer.hideRefs' '
-	GIT_NAMESPACE=namespace \
-		git -C pushee -c transfer.hideRefs="^refs/namespaces/namespace/refs/tags" \
-		ls-remote "ext::git %s ." >actual &&
-	printf "$commit1\trefs/heads/master\n" >expected &&
-	test_cmp expected actual
-'
-
-test_expect_success 'try to update a hidden ref' '
-	test_config -C pushee transfer.hideRefs refs/heads/master &&
-	test_must_fail git -C original push pushee-namespaced master
-'
-
-test_expect_success 'try to update a ref that is not hidden' '
-	test_config -C pushee transfer.hideRefs refs/namespaces/namespace/refs/heads/master &&
-	git -C original push pushee-namespaced master
-'
-
-test_expect_success 'try to update a hidden full ref' '
-	test_config -C pushee transfer.hideRefs "^refs/namespaces/namespace/refs/heads/master" &&
-	test_must_fail git -C original push pushee-namespaced master
-'
-
-test_expect_success 'set up ambiguous HEAD' '
-	git init ambiguous &&
-	(
-		cd ambiguous &&
-		git commit --allow-empty -m foo &&
-		git update-ref refs/namespaces/ns/refs/heads/one HEAD &&
-		git update-ref refs/namespaces/ns/refs/heads/two HEAD &&
-		git symbolic-ref refs/namespaces/ns/HEAD \
-			refs/namespaces/ns/refs/heads/two
-	)
-'
-
-test_expect_success 'clone chooses correct HEAD (v0)' '
-	GIT_NAMESPACE=ns git -c protocol.version=0 \
-		clone ambiguous ambiguous-v0 &&
-	echo refs/heads/two >expect &&
-	git -C ambiguous-v0 symbolic-ref HEAD >actual &&
-	test_cmp expect actual
-'
-
-test_expect_success 'clone chooses correct HEAD (v2)' '
-	GIT_NAMESPACE=ns git -c protocol.version=2 \
-		clone ambiguous ambiguous-v2 &&
-	echo refs/heads/two >expect &&
-	git -C ambiguous-v2 symbolic-ref HEAD >actual &&
-	test_cmp expect actual
-'
-
-test_expect_success 'denyCurrentBranch and unborn branch with ref namespace' '
-	(
-		cd original &&
-		git init unborn &&
-		git remote add unborn-namespaced "ext::git --namespace=namespace %s unborn" &&
-		test_must_fail git push unborn-namespaced HEAD:master &&
-		git -C unborn config receive.denyCurrentBranch updateInstead &&
-		git push unborn-namespaced HEAD:master
-	)
-'
-
-test_done