From 43b1791ec601732ac31195df96781a848360a9ac Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Tue, 21 Sep 2021 13:03:01 +0300 Subject: chore(3p/git): Unvendor git and track patches instead 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 --- third_party/git/t/t3421-rebase-topology-linear.sh | 378 ---------------------- 1 file changed, 378 deletions(-) delete mode 100755 third_party/git/t/t3421-rebase-topology-linear.sh (limited to 'third_party/git/t/t3421-rebase-topology-linear.sh') 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 -- cgit 1.4.1