about summary refs log tree commit diff
path: root/third_party/git/t/t6600-test-reach.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/t6600-test-reach.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/t6600-test-reach.sh')
-rwxr-xr-xthird_party/git/t/t6600-test-reach.sh440
1 files changed, 0 insertions, 440 deletions
diff --git a/third_party/git/t/t6600-test-reach.sh b/third_party/git/t/t6600-test-reach.sh
deleted file mode 100755
index f807276337..0000000000
--- a/third_party/git/t/t6600-test-reach.sh
+++ /dev/null
@@ -1,440 +0,0 @@
-#!/bin/sh
-
-test_description='basic commit reachability tests'
-
-. ./test-lib.sh
-
-# Construct a grid-like commit graph with points (x,y)
-# with 1 <= x <= 10, 1 <= y <= 10, where (x,y) has
-# parents (x-1, y) and (x, y-1), keeping in mind that
-# we drop a parent if a coordinate is nonpositive.
-#
-#             (10,10)
-#            /       \
-#         (10,9)    (9,10)
-#        /     \   /      \
-#    (10,8)    (9,9)      (8,10)
-#   /     \    /   \      /    \
-#         ( continued...)
-#   \     /    \   /      \    /
-#    (3,1)     (2,2)      (1,3)
-#        \     /    \     /
-#         (2,1)      (2,1)
-#              \    /
-#              (1,1)
-#
-# We use branch 'commit-x-y' to refer to (x,y).
-# This grid allows interesting reachability and
-# non-reachability queries: (x,y) can reach (x',y')
-# if and only if x' <= x and y' <= y.
-test_expect_success 'setup' '
-	for i in $(test_seq 1 10)
-	do
-		test_commit "1-$i" &&
-		git branch -f commit-1-$i &&
-		git tag -a -m "1-$i" tag-1-$i commit-1-$i
-	done &&
-	for j in $(test_seq 1 9)
-	do
-		git reset --hard commit-$j-1 &&
-		x=$(($j + 1)) &&
-		test_commit "$x-1" &&
-		git branch -f commit-$x-1 &&
-		git tag -a -m "$x-1" tag-$x-1 commit-$x-1 &&
-
-		for i in $(test_seq 2 10)
-		do
-			git merge commit-$j-$i -m "$x-$i" &&
-			git branch -f commit-$x-$i &&
-			git tag -a -m "$x-$i" tag-$x-$i commit-$x-$i
-		done
-	done &&
-	git commit-graph write --reachable &&
-	mv .git/objects/info/commit-graph commit-graph-full &&
-	chmod u+w commit-graph-full &&
-	git show-ref -s commit-5-5 | git commit-graph write --stdin-commits &&
-	mv .git/objects/info/commit-graph commit-graph-half &&
-	chmod u+w commit-graph-half &&
-	git config core.commitGraph true
-'
-
-run_three_modes () {
-	test_when_finished rm -rf .git/objects/info/commit-graph &&
-	"$@" <input >actual &&
-	test_cmp expect actual &&
-	cp commit-graph-full .git/objects/info/commit-graph &&
-	"$@" <input >actual &&
-	test_cmp expect actual &&
-	cp commit-graph-half .git/objects/info/commit-graph &&
-	"$@" <input >actual &&
-	test_cmp expect actual
-}
-
-test_three_modes () {
-	run_three_modes test-tool reach "$@"
-}
-
-test_expect_success 'ref_newer:miss' '
-	cat >input <<-\EOF &&
-	A:commit-5-7
-	B:commit-4-9
-	EOF
-	echo "ref_newer(A,B):0" >expect &&
-	test_three_modes ref_newer
-'
-
-test_expect_success 'ref_newer:hit' '
-	cat >input <<-\EOF &&
-	A:commit-5-7
-	B:commit-2-3
-	EOF
-	echo "ref_newer(A,B):1" >expect &&
-	test_three_modes ref_newer
-'
-
-test_expect_success 'in_merge_bases:hit' '
-	cat >input <<-\EOF &&
-	A:commit-5-7
-	B:commit-8-8
-	EOF
-	echo "in_merge_bases(A,B):1" >expect &&
-	test_three_modes in_merge_bases
-'
-
-test_expect_success 'in_merge_bases:miss' '
-	cat >input <<-\EOF &&
-	A:commit-6-8
-	B:commit-5-9
-	EOF
-	echo "in_merge_bases(A,B):0" >expect &&
-	test_three_modes in_merge_bases
-'
-
-test_expect_success 'in_merge_bases_many:hit' '
-	cat >input <<-\EOF &&
-	A:commit-6-8
-	X:commit-6-9
-	X:commit-5-7
-	EOF
-	echo "in_merge_bases_many(A,X):1" >expect &&
-	test_three_modes in_merge_bases_many
-'
-
-test_expect_success 'in_merge_bases_many:miss' '
-	cat >input <<-\EOF &&
-	A:commit-6-8
-	X:commit-7-7
-	X:commit-8-6
-	EOF
-	echo "in_merge_bases_many(A,X):0" >expect &&
-	test_three_modes in_merge_bases_many
-'
-
-test_expect_success 'in_merge_bases_many:miss-heuristic' '
-	cat >input <<-\EOF &&
-	A:commit-6-8
-	X:commit-7-5
-	X:commit-6-6
-	EOF
-	echo "in_merge_bases_many(A,X):0" >expect &&
-	test_three_modes in_merge_bases_many
-'
-
-test_expect_success 'is_descendant_of:hit' '
-	cat >input <<-\EOF &&
-	A:commit-5-7
-	X:commit-4-8
-	X:commit-6-6
-	X:commit-1-1
-	EOF
-	echo "is_descendant_of(A,X):1" >expect &&
-	test_three_modes is_descendant_of
-'
-
-test_expect_success 'is_descendant_of:miss' '
-	cat >input <<-\EOF &&
-	A:commit-6-8
-	X:commit-5-9
-	X:commit-4-10
-	X:commit-7-6
-	EOF
-	echo "is_descendant_of(A,X):0" >expect &&
-	test_three_modes is_descendant_of
-'
-
-test_expect_success 'get_merge_bases_many' '
-	cat >input <<-\EOF &&
-	A:commit-5-7
-	X:commit-4-8
-	X:commit-6-6
-	X:commit-8-3
-	EOF
-	{
-		echo "get_merge_bases_many(A,X):" &&
-		git rev-parse commit-5-6 \
-			      commit-4-7 | sort
-	} >expect &&
-	test_three_modes get_merge_bases_many
-'
-
-test_expect_success 'reduce_heads' '
-	cat >input <<-\EOF &&
-	X:commit-1-10
-	X:commit-2-8
-	X:commit-3-6
-	X:commit-4-4
-	X:commit-1-7
-	X:commit-2-5
-	X:commit-3-3
-	X:commit-5-1
-	EOF
-	{
-		echo "reduce_heads(X):" &&
-		git rev-parse commit-5-1 \
-			      commit-4-4 \
-			      commit-3-6 \
-			      commit-2-8 \
-			      commit-1-10 | sort
-	} >expect &&
-	test_three_modes reduce_heads
-'
-
-test_expect_success 'can_all_from_reach:hit' '
-	cat >input <<-\EOF &&
-	X:commit-2-10
-	X:commit-3-9
-	X:commit-4-8
-	X:commit-5-7
-	X:commit-6-6
-	X:commit-7-5
-	X:commit-8-4
-	X:commit-9-3
-	Y:commit-1-9
-	Y:commit-2-8
-	Y:commit-3-7
-	Y:commit-4-6
-	Y:commit-5-5
-	Y:commit-6-4
-	Y:commit-7-3
-	Y:commit-8-1
-	EOF
-	echo "can_all_from_reach(X,Y):1" >expect &&
-	test_three_modes can_all_from_reach
-'
-
-test_expect_success 'can_all_from_reach:miss' '
-	cat >input <<-\EOF &&
-	X:commit-2-10
-	X:commit-3-9
-	X:commit-4-8
-	X:commit-5-7
-	X:commit-6-6
-	X:commit-7-5
-	X:commit-8-4
-	X:commit-9-3
-	Y:commit-1-9
-	Y:commit-2-8
-	Y:commit-3-7
-	Y:commit-4-6
-	Y:commit-5-5
-	Y:commit-6-4
-	Y:commit-8-5
-	EOF
-	echo "can_all_from_reach(X,Y):0" >expect &&
-	test_three_modes can_all_from_reach
-'
-
-test_expect_success 'can_all_from_reach_with_flag: tags case' '
-	cat >input <<-\EOF &&
-	X:tag-2-10
-	X:tag-3-9
-	X:tag-4-8
-	X:commit-5-7
-	X:commit-6-6
-	X:commit-7-5
-	X:commit-8-4
-	X:commit-9-3
-	Y:tag-1-9
-	Y:tag-2-8
-	Y:tag-3-7
-	Y:commit-4-6
-	Y:commit-5-5
-	Y:commit-6-4
-	Y:commit-7-3
-	Y:commit-8-1
-	EOF
-	echo "can_all_from_reach_with_flag(X,_,_,0,0):1" >expect &&
-	test_three_modes can_all_from_reach_with_flag
-'
-
-test_expect_success 'commit_contains:hit' '
-	cat >input <<-\EOF &&
-	A:commit-7-7
-	X:commit-2-10
-	X:commit-3-9
-	X:commit-4-8
-	X:commit-5-7
-	X:commit-6-6
-	X:commit-7-5
-	X:commit-8-4
-	X:commit-9-3
-	EOF
-	echo "commit_contains(_,A,X,_):1" >expect &&
-	test_three_modes commit_contains &&
-	test_three_modes commit_contains --tag
-'
-
-test_expect_success 'commit_contains:miss' '
-	cat >input <<-\EOF &&
-	A:commit-6-5
-	X:commit-2-10
-	X:commit-3-9
-	X:commit-4-8
-	X:commit-5-7
-	X:commit-6-6
-	X:commit-7-5
-	X:commit-8-4
-	X:commit-9-3
-	EOF
-	echo "commit_contains(_,A,X,_):0" >expect &&
-	test_three_modes commit_contains &&
-	test_three_modes commit_contains --tag
-'
-
-test_expect_success 'rev-list: basic topo-order' '
-	git rev-parse \
-		commit-6-6 commit-5-6 commit-4-6 commit-3-6 commit-2-6 commit-1-6 \
-		commit-6-5 commit-5-5 commit-4-5 commit-3-5 commit-2-5 commit-1-5 \
-		commit-6-4 commit-5-4 commit-4-4 commit-3-4 commit-2-4 commit-1-4 \
-		commit-6-3 commit-5-3 commit-4-3 commit-3-3 commit-2-3 commit-1-3 \
-		commit-6-2 commit-5-2 commit-4-2 commit-3-2 commit-2-2 commit-1-2 \
-		commit-6-1 commit-5-1 commit-4-1 commit-3-1 commit-2-1 commit-1-1 \
-	>expect &&
-	run_three_modes git rev-list --topo-order commit-6-6
-'
-
-test_expect_success 'rev-list: first-parent topo-order' '
-	git rev-parse \
-		commit-6-6 \
-		commit-6-5 \
-		commit-6-4 \
-		commit-6-3 \
-		commit-6-2 \
-		commit-6-1 commit-5-1 commit-4-1 commit-3-1 commit-2-1 commit-1-1 \
-	>expect &&
-	run_three_modes git rev-list --first-parent --topo-order commit-6-6
-'
-
-test_expect_success 'rev-list: range topo-order' '
-	git rev-parse \
-		commit-6-6 commit-5-6 commit-4-6 commit-3-6 commit-2-6 commit-1-6 \
-		commit-6-5 commit-5-5 commit-4-5 commit-3-5 commit-2-5 commit-1-5 \
-		commit-6-4 commit-5-4 commit-4-4 commit-3-4 commit-2-4 commit-1-4 \
-		commit-6-3 commit-5-3 commit-4-3 \
-		commit-6-2 commit-5-2 commit-4-2 \
-		commit-6-1 commit-5-1 commit-4-1 \
-	>expect &&
-	run_three_modes git rev-list --topo-order commit-3-3..commit-6-6
-'
-
-test_expect_success 'rev-list: range topo-order' '
-	git rev-parse \
-		commit-6-6 commit-5-6 commit-4-6 \
-		commit-6-5 commit-5-5 commit-4-5 \
-		commit-6-4 commit-5-4 commit-4-4 \
-		commit-6-3 commit-5-3 commit-4-3 \
-		commit-6-2 commit-5-2 commit-4-2 \
-		commit-6-1 commit-5-1 commit-4-1 \
-	>expect &&
-	run_three_modes git rev-list --topo-order commit-3-8..commit-6-6
-'
-
-test_expect_success 'rev-list: first-parent range topo-order' '
-	git rev-parse \
-		commit-6-6 \
-		commit-6-5 \
-		commit-6-4 \
-		commit-6-3 \
-		commit-6-2 \
-		commit-6-1 commit-5-1 commit-4-1 \
-	>expect &&
-	run_three_modes git rev-list --first-parent --topo-order commit-3-8..commit-6-6
-'
-
-test_expect_success 'rev-list: ancestry-path topo-order' '
-	git rev-parse \
-		commit-6-6 commit-5-6 commit-4-6 commit-3-6 \
-		commit-6-5 commit-5-5 commit-4-5 commit-3-5 \
-		commit-6-4 commit-5-4 commit-4-4 commit-3-4 \
-		commit-6-3 commit-5-3 commit-4-3 \
-	>expect &&
-	run_three_modes git rev-list --topo-order --ancestry-path commit-3-3..commit-6-6
-'
-
-test_expect_success 'rev-list: symmetric difference topo-order' '
-	git rev-parse \
-		commit-6-6 commit-5-6 commit-4-6 \
-		commit-6-5 commit-5-5 commit-4-5 \
-		commit-6-4 commit-5-4 commit-4-4 \
-		commit-6-3 commit-5-3 commit-4-3 \
-		commit-6-2 commit-5-2 commit-4-2 \
-		commit-6-1 commit-5-1 commit-4-1 \
-		commit-3-8 commit-2-8 commit-1-8 \
-		commit-3-7 commit-2-7 commit-1-7 \
-	>expect &&
-	run_three_modes git rev-list --topo-order commit-3-8...commit-6-6
-'
-
-test_expect_success 'get_reachable_subset:all' '
-	cat >input <<-\EOF &&
-	X:commit-9-1
-	X:commit-8-3
-	X:commit-7-5
-	X:commit-6-6
-	X:commit-1-7
-	Y:commit-3-3
-	Y:commit-1-7
-	Y:commit-5-6
-	EOF
-	(
-		echo "get_reachable_subset(X,Y)" &&
-		git rev-parse commit-3-3 \
-			      commit-1-7 \
-			      commit-5-6 | sort
-	) >expect &&
-	test_three_modes get_reachable_subset
-'
-
-test_expect_success 'get_reachable_subset:some' '
-	cat >input <<-\EOF &&
-	X:commit-9-1
-	X:commit-8-3
-	X:commit-7-5
-	X:commit-1-7
-	Y:commit-3-3
-	Y:commit-1-7
-	Y:commit-5-6
-	EOF
-	(
-		echo "get_reachable_subset(X,Y)" &&
-		git rev-parse commit-3-3 \
-			      commit-1-7 | sort
-	) >expect &&
-	test_three_modes get_reachable_subset
-'
-
-test_expect_success 'get_reachable_subset:none' '
-	cat >input <<-\EOF &&
-	X:commit-9-1
-	X:commit-8-3
-	X:commit-7-5
-	X:commit-1-7
-	Y:commit-9-3
-	Y:commit-7-6
-	Y:commit-2-8
-	EOF
-	echo "get_reachable_subset(X,Y)" >expect &&
-	test_three_modes get_reachable_subset
-'
-
-test_done