about summary refs log tree commit diff
path: root/third_party/git/t/t3421-rebase-topology-linear.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/t3421-rebase-topology-linear.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/t3421-rebase-topology-linear.sh')
-rwxr-xr-xthird_party/git/t/t3421-rebase-topology-linear.sh378
1 files changed, 0 insertions, 378 deletions
diff --git a/third_party/git/t/t3421-rebase-topology-linear.sh b/third_party/git/t/t3421-rebase-topology-linear.sh
deleted file mode 100755
index 4a9204b4b6..0000000000
--- a/third_party/git/t/t3421-rebase-topology-linear.sh
+++ /dev/null
@@ -1,378 +0,0 @@
-#!/bin/sh
-
-test_description='basic rebase topology tests'
-. ./test-lib.sh
-. "$TEST_DIRECTORY"/lib-rebase.sh
-
-# a---b---c
-#      \
-#       d---e
-test_expect_success 'setup' '
-	test_commit a &&
-	test_commit b &&
-	test_commit c &&
-	git checkout b &&
-	test_commit d &&
-	test_commit e
-'
-
-test_run_rebase () {
-	result=$1
-	shift
-	test_expect_$result "simple rebase $*" "
-		reset_rebase &&
-		git rebase $* c e &&
-		test_cmp_rev c HEAD~2 &&
-		test_linear_range 'd e' c..
-	"
-}
-test_run_rebase success --apply
-test_run_rebase success -m
-test_run_rebase success -i
-test_have_prereq !REBASE_P || test_run_rebase success -p
-
-test_expect_success 'setup branches and remote tracking' '
-	git tag -l >tags &&
-	for tag in $(cat tags)
-	do
-		git branch branch-$tag $tag || return 1
-	done &&
-	git remote add origin "file://$PWD" &&
-	git fetch origin
-'
-
-test_run_rebase () {
-	result=$1
-	shift
-	test_expect_$result "rebase $* is no-op if upstream is an ancestor" "
-		reset_rebase &&
-		git rebase $* b e &&
-		test_cmp_rev e HEAD
-	"
-}
-test_run_rebase success --apply
-test_run_rebase success -m
-test_run_rebase success -i
-test_have_prereq !REBASE_P || test_run_rebase success -p
-
-test_run_rebase () {
-	result=$1
-	shift
-	test_expect_$result "rebase $* -f rewrites even if upstream is an ancestor" "
-		reset_rebase &&
-		git rebase $* -f b e &&
-		test_cmp_rev ! e HEAD &&
-		test_cmp_rev b HEAD~2 &&
-		test_linear_range 'd e' b..
-	"
-}
-test_run_rebase success --apply
-test_run_rebase success --fork-point
-test_run_rebase success -m
-test_run_rebase success -i
-test_have_prereq !REBASE_P || test_run_rebase failure -p
-
-test_run_rebase () {
-	result=$1
-	shift
-	test_expect_$result "rebase $* -f rewrites even if remote upstream is an ancestor" "
-		reset_rebase &&
-		git rebase $* -f branch-b branch-e &&
-		test_cmp_rev ! branch-e origin/branch-e &&
-		test_cmp_rev branch-b HEAD~2 &&
-		test_linear_range 'd e' branch-b..
-	"
-}
-test_run_rebase success --apply
-test_run_rebase success --fork-point
-test_run_rebase success -m
-test_run_rebase success -i
-test_have_prereq !REBASE_P || test_run_rebase success -p
-
-test_run_rebase () {
-	result=$1
-	shift
-	test_expect_$result "rebase $* fast-forwards from ancestor of upstream" "
-		reset_rebase &&
-		git rebase $* e b &&
-		test_cmp_rev e HEAD
-	"
-}
-test_run_rebase success --apply
-test_run_rebase success --fork-point
-test_run_rebase success -m
-test_run_rebase success -i
-test_have_prereq !REBASE_P || test_run_rebase success -p
-
-#       f
-#      /
-# a---b---c---g---h
-#      \
-#       d---gp--i
-#
-# gp = cherry-picked g
-# h = reverted g
-#
-# Reverted patches are there for tests to be able to check if a commit
-# that introduced the same change as another commit is
-# dropped. Without reverted commits, we could get false positives
-# because applying the patch succeeds, but simply results in no
-# changes.
-test_expect_success 'setup of linear history for range selection tests' '
-	git checkout c &&
-	test_commit g &&
-	revert h g &&
-	git checkout d &&
-	cherry_pick gp g &&
-	test_commit i &&
-	git checkout b &&
-	test_commit f
-'
-
-test_run_rebase () {
-	result=$1
-	shift
-	test_expect_$result "rebase $* drops patches in upstream" "
-		reset_rebase &&
-		git rebase $* h i &&
-		test_cmp_rev h HEAD~2 &&
-		test_linear_range 'd i' h..
-	"
-}
-test_run_rebase success --apply
-test_run_rebase success -m
-test_run_rebase success -i
-test_have_prereq !REBASE_P || test_run_rebase success -p
-
-test_run_rebase () {
-	result=$1
-	shift
-	test_expect_$result "rebase $* can drop last patch if in upstream" "
-		reset_rebase &&
-		git rebase $* h gp &&
-		test_cmp_rev h HEAD^ &&
-		test_linear_range 'd' h..
-	"
-}
-test_run_rebase success --apply
-test_run_rebase success -m
-test_run_rebase success -i
-test_have_prereq !REBASE_P || test_run_rebase success -p
-
-test_run_rebase () {
-	result=$1
-	shift
-	test_expect_$result "rebase $* --onto drops patches in upstream" "
-		reset_rebase &&
-		git rebase $* --onto f h i &&
-		test_cmp_rev f HEAD~2 &&
-		test_linear_range 'd i' f..
-	"
-}
-test_run_rebase success --apply
-test_run_rebase success -m
-test_run_rebase success -i
-test_have_prereq !REBASE_P || test_run_rebase success -p
-
-test_run_rebase () {
-	result=$1
-	shift
-	test_expect_$result "rebase $* --onto does not drop patches in onto" "
-		reset_rebase &&
-		git rebase $* --onto h f i &&
-		test_cmp_rev h HEAD~3 &&
-		test_linear_range 'd gp i' h..
-	"
-}
-test_run_rebase success --apply
-test_run_rebase success -m
-test_run_rebase success -i
-test_have_prereq !REBASE_P || test_run_rebase success -p
-
-# a---b---c---j!
-#      \
-#       d---k!--l
-#
-# ! = empty
-test_expect_success 'setup of linear history for empty commit tests' '
-	git checkout c &&
-	make_empty j &&
-	git checkout d &&
-	make_empty k &&
-	test_commit l
-'
-
-test_run_rebase () {
-	result=$1
-	shift
-	test_expect_$result "rebase $* keeps begin-empty commits" "
-		reset_rebase &&
-		git rebase $* j l &&
-		test_cmp_rev c HEAD~4 &&
-		test_linear_range 'j d k l' c..
-	"
-}
-test_run_rebase failure --apply
-test_run_rebase success -m
-test_run_rebase success -i
-test_have_prereq !REBASE_P || test_run_rebase failure -p
-
-test_run_rebase () {
-	result=$1
-	shift
-	test_expect_$result "rebase $* --no-keep-empty drops begin-empty commits" "
-		reset_rebase &&
-		git rebase $* --no-keep-empty c l &&
-		test_cmp_rev c HEAD~2 &&
-		test_linear_range 'd l' c..
-	"
-}
-test_run_rebase success -m
-test_run_rebase success -i
-test_have_prereq !REBASE_P || test_run_rebase success -p
-
-test_run_rebase () {
-	result=$1
-	shift
-	test_expect_$result "rebase $* --keep-empty keeps empty even if already in upstream" "
-		reset_rebase &&
-		git rebase $* --keep-empty j l &&
-		test_cmp_rev j HEAD~3 &&
-		test_linear_range 'd k l' j..
-	"
-}
-test_run_rebase success -m
-test_run_rebase success -i
-test_have_prereq !REBASE_P || test_run_rebase success -p
-test_run_rebase success --rebase-merges
-
-#       m
-#      /
-# a---b---c---g
-#
-# x---y---bp
-#
-# bp = cherry-picked b
-# m = reverted b
-#
-# Reverted patches are there for tests to be able to check if a commit
-# that introduced the same change as another commit is
-# dropped. Without reverted commits, we could get false positives
-# because applying the patch succeeds, but simply results in no
-# changes.
-test_expect_success 'setup of linear history for test involving root' '
-	git checkout b &&
-	revert m b &&
-	git checkout --orphan disjoint &&
-	git rm -rf . &&
-	test_commit x &&
-	test_commit y &&
-	cherry_pick bp b
-'
-
-test_run_rebase () {
-	result=$1
-	shift
-	test_expect_$result "rebase $* --onto --root" "
-		reset_rebase &&
-		git rebase $* --onto c --root y &&
-		test_cmp_rev c HEAD~2 &&
-		test_linear_range 'x y' c..
-	"
-}
-test_run_rebase success --apply
-test_run_rebase success -m
-test_run_rebase success -i
-test_have_prereq !REBASE_P || test_run_rebase success -p
-
-test_run_rebase () {
-	result=$1
-	shift
-	test_expect_$result "rebase $* without --onto --root with disjoint history" "
-		reset_rebase &&
-		git rebase $* c y &&
-		test_cmp_rev c HEAD~2 &&
-		test_linear_range 'x y' c..
-	"
-}
-test_run_rebase success --apply
-test_run_rebase success -m
-test_run_rebase success -i
-test_have_prereq !REBASE_P || test_run_rebase failure -p
-
-test_run_rebase () {
-	result=$1
-	shift
-	test_expect_$result "rebase $* --onto --root drops patch in onto" "
-		reset_rebase &&
-		git rebase $* --onto m --root bp &&
-		test_cmp_rev m HEAD~2 &&
-		test_linear_range 'x y' m..
-	"
-}
-test_run_rebase success --apply
-test_run_rebase success -m
-test_run_rebase success -i
-test_have_prereq !REBASE_P || test_run_rebase success -p
-
-test_run_rebase () {
-	result=$1
-	shift
-	test_expect_$result "rebase $* --onto --root with merge-base does not go to root" "
-		reset_rebase &&
-		git rebase $* --onto m --root g &&
-		test_cmp_rev m HEAD~2 &&
-		test_linear_range 'c g' m..
-	"
-}
-
-test_run_rebase success --apply
-test_run_rebase success -m
-test_run_rebase success -i
-test_have_prereq !REBASE_P || test_run_rebase failure -p
-
-test_run_rebase () {
-	result=$1
-	shift
-	test_expect_$result "rebase $* without --onto --root with disjoint history drops patch in onto" "
-		reset_rebase &&
-		git rebase $* m bp &&
-		test_cmp_rev m HEAD~2 &&
-		test_linear_range 'x y' m..
-	"
-}
-test_run_rebase success --apply
-test_run_rebase success -m
-test_run_rebase success -i
-test_have_prereq !REBASE_P || test_run_rebase failure -p
-
-test_run_rebase () {
-	result=$1
-	shift
-	test_expect_$result "rebase $* --root on linear history is a no-op" "
-		reset_rebase &&
-		git rebase $* --root c &&
-		test_cmp_rev c HEAD
-	"
-}
-test_run_rebase success ''
-test_run_rebase success -m
-test_run_rebase success -i
-test_have_prereq !REBASE_P || test_run_rebase failure -p
-
-test_run_rebase () {
-	result=$1
-	shift
-	test_expect_$result "rebase $* -f --root on linear history causes re-write" "
-		reset_rebase &&
-		git rebase $* -f --root c &&
-		test_cmp_rev ! a HEAD~2 &&
-		test_linear_range 'a b c' HEAD
-	"
-}
-test_run_rebase success ''
-test_run_rebase success -m
-test_run_rebase success -i
-test_have_prereq !REBASE_P || test_run_rebase success -p
-
-test_done