diff options
author | Vincent Ambo <mail@tazj.in> | 2021-09-21T10·03+0300 |
---|---|---|
committer | Vincent Ambo <mail@tazj.in> | 2021-09-21T11·29+0300 |
commit | 43b1791ec601732ac31195df96781a848360a9ac (patch) | |
tree | daae8d638343295d2f1f7da955e556ef4c958864 /third_party/git/t/t5407-post-rewrite-hook.sh | |
parent | 2d8e7dc9d9c38127ec4ebd13aee8e8f586a43318 (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/t5407-post-rewrite-hook.sh')
-rwxr-xr-x | third_party/git/t/t5407-post-rewrite-hook.sh | 266 |
1 files changed, 0 insertions, 266 deletions
diff --git a/third_party/git/t/t5407-post-rewrite-hook.sh b/third_party/git/t/t5407-post-rewrite-hook.sh deleted file mode 100755 index 80750a817e95..000000000000 --- a/third_party/git/t/t5407-post-rewrite-hook.sh +++ /dev/null @@ -1,266 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2010 Thomas Rast -# - -test_description='Test the post-rewrite hook.' -. ./test-lib.sh - -test_expect_success 'setup' ' - test_commit A foo A && - test_commit B foo B && - test_commit C foo C && - test_commit D foo D && - git checkout A^0 && - test_commit E bar E && - test_commit F foo F && - git checkout master -' - -mkdir .git/hooks - -cat >.git/hooks/post-rewrite <<EOF -#!/bin/sh -echo \$@ > "$TRASH_DIRECTORY"/post-rewrite.args -cat > "$TRASH_DIRECTORY"/post-rewrite.data -EOF -chmod u+x .git/hooks/post-rewrite - -clear_hook_input () { - rm -f post-rewrite.args post-rewrite.data -} - -verify_hook_input () { - test_cmp expected.args "$TRASH_DIRECTORY"/post-rewrite.args && - test_cmp expected.data "$TRASH_DIRECTORY"/post-rewrite.data -} - -test_expect_success 'git commit --amend' ' - clear_hook_input && - echo "D new message" > newmsg && - oldsha=$(git rev-parse HEAD^0) && - git commit -Fnewmsg --amend && - echo amend > expected.args && - echo $oldsha $(git rev-parse HEAD^0) > expected.data && - verify_hook_input -' - -test_expect_success 'git commit --amend --no-post-rewrite' ' - clear_hook_input && - echo "D new message again" > newmsg && - git commit --no-post-rewrite -Fnewmsg --amend && - test ! -f post-rewrite.args && - test ! -f post-rewrite.data -' - -test_expect_success 'git rebase --apply' ' - git reset --hard D && - clear_hook_input && - test_must_fail git rebase --apply --onto A B && - echo C > foo && - git add foo && - git rebase --continue && - echo rebase >expected.args && - cat >expected.data <<-EOF && - $(git rev-parse C) $(git rev-parse HEAD^) - $(git rev-parse D) $(git rev-parse HEAD) - EOF - verify_hook_input -' - -test_expect_success 'git rebase --apply --skip' ' - git reset --hard D && - clear_hook_input && - test_must_fail git rebase --apply --onto A B && - test_must_fail git rebase --skip && - echo D > foo && - git add foo && - git rebase --continue && - echo rebase >expected.args && - cat >expected.data <<-EOF && - $(git rev-parse C) $(git rev-parse HEAD^) - $(git rev-parse D) $(git rev-parse HEAD) - EOF - verify_hook_input -' - -test_expect_success 'git rebase --apply --skip the last one' ' - git reset --hard F && - clear_hook_input && - test_must_fail git rebase --apply --onto D A && - git rebase --skip && - echo rebase >expected.args && - cat >expected.data <<-EOF && - $(git rev-parse E) $(git rev-parse HEAD) - $(git rev-parse F) $(git rev-parse HEAD) - EOF - verify_hook_input -' - -test_expect_success 'git rebase -m' ' - git reset --hard D && - clear_hook_input && - test_must_fail git rebase -m --onto A B && - echo C > foo && - git add foo && - git rebase --continue && - echo rebase >expected.args && - cat >expected.data <<-EOF && - $(git rev-parse C) $(git rev-parse HEAD^) - $(git rev-parse D) $(git rev-parse HEAD) - EOF - verify_hook_input -' - -test_expect_success 'git rebase -m --skip' ' - git reset --hard D && - clear_hook_input && - test_must_fail git rebase -m --onto A B && - test_must_fail git rebase --skip && - echo D > foo && - git add foo && - git rebase --continue && - echo rebase >expected.args && - cat >expected.data <<-EOF && - $(git rev-parse C) $(git rev-parse HEAD^) - $(git rev-parse D) $(git rev-parse HEAD) - EOF - verify_hook_input -' - -test_expect_success 'git rebase with implicit use of merge backend' ' - git reset --hard D && - clear_hook_input && - test_must_fail git rebase --keep-empty --onto A B && - echo C > foo && - git add foo && - git rebase --continue && - echo rebase >expected.args && - cat >expected.data <<-EOF && - $(git rev-parse C) $(git rev-parse HEAD^) - $(git rev-parse D) $(git rev-parse HEAD) - EOF - verify_hook_input -' - -test_expect_success 'git rebase --skip with implicit use of merge backend' ' - git reset --hard D && - clear_hook_input && - test_must_fail git rebase --keep-empty --onto A B && - test_must_fail git rebase --skip && - echo D > foo && - git add foo && - git rebase --continue && - echo rebase >expected.args && - cat >expected.data <<-EOF && - $(git rev-parse C) $(git rev-parse HEAD^) - $(git rev-parse D) $(git rev-parse HEAD) - EOF - verify_hook_input -' - -. "$TEST_DIRECTORY"/lib-rebase.sh - -set_fake_editor - -# Helper to work around the lack of one-shot exporting for -# test_must_fail (as it is a shell function) -test_fail_interactive_rebase () { - ( - FAKE_LINES="$1" && - shift && - export FAKE_LINES && - test_must_fail git rebase -i "$@" - ) -} - -test_expect_success 'git rebase -i (unchanged)' ' - git reset --hard D && - clear_hook_input && - test_fail_interactive_rebase "1 2" --onto A B && - echo C > foo && - git add foo && - git rebase --continue && - echo rebase >expected.args && - cat >expected.data <<-EOF && - $(git rev-parse C) $(git rev-parse HEAD^) - $(git rev-parse D) $(git rev-parse HEAD) - EOF - verify_hook_input -' - -test_expect_success 'git rebase -i (skip)' ' - git reset --hard D && - clear_hook_input && - test_fail_interactive_rebase "2" --onto A B && - echo D > foo && - git add foo && - git rebase --continue && - echo rebase >expected.args && - cat >expected.data <<-EOF && - $(git rev-parse D) $(git rev-parse HEAD) - EOF - verify_hook_input -' - -test_expect_success 'git rebase -i (squash)' ' - git reset --hard D && - clear_hook_input && - test_fail_interactive_rebase "1 squash 2" --onto A B && - echo C > foo && - git add foo && - git rebase --continue && - echo rebase >expected.args && - cat >expected.data <<-EOF && - $(git rev-parse C) $(git rev-parse HEAD) - $(git rev-parse D) $(git rev-parse HEAD) - EOF - verify_hook_input -' - -test_expect_success 'git rebase -i (fixup without conflict)' ' - git reset --hard D && - clear_hook_input && - FAKE_LINES="1 fixup 2" git rebase -i B && - echo rebase >expected.args && - cat >expected.data <<-EOF && - $(git rev-parse C) $(git rev-parse HEAD) - $(git rev-parse D) $(git rev-parse HEAD) - EOF - verify_hook_input -' - -test_expect_success 'git rebase -i (double edit)' ' - git reset --hard D && - clear_hook_input && - FAKE_LINES="edit 1 edit 2" git rebase -i B && - git rebase --continue && - echo something > foo && - git add foo && - git rebase --continue && - echo rebase >expected.args && - cat >expected.data <<-EOF && - $(git rev-parse C) $(git rev-parse HEAD^) - $(git rev-parse D) $(git rev-parse HEAD) - EOF - verify_hook_input -' - -test_expect_success 'git rebase -i (exec)' ' - git reset --hard D && - clear_hook_input && - FAKE_LINES="edit 1 exec_false 2" git rebase -i B && - echo something >bar && - git add bar && - # Fails because of exec false - test_must_fail git rebase --continue && - git rebase --continue && - echo rebase >expected.args && - cat >expected.data <<-EOF && - $(git rev-parse C) $(git rev-parse HEAD^) - $(git rev-parse D) $(git rev-parse HEAD) - EOF - verify_hook_input -' - -test_done |