about summary refs log tree commit diff
path: root/third_party/git/t/t7611-merge-abort.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/t7611-merge-abort.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/t7611-merge-abort.sh')
-rwxr-xr-xthird_party/git/t/t7611-merge-abort.sh201
1 files changed, 0 insertions, 201 deletions
diff --git a/third_party/git/t/t7611-merge-abort.sh b/third_party/git/t/t7611-merge-abort.sh
deleted file mode 100755
index 7c84a518aa39..000000000000
--- a/third_party/git/t/t7611-merge-abort.sh
+++ /dev/null
@@ -1,201 +0,0 @@
-#!/bin/sh
-
-test_description='test aborting in-progress merges
-
-Set up repo with conflicting and non-conflicting branches:
-
-There are three files foo/bar/baz, and the following graph illustrates the
-content of these files in each commit:
-
-# foo/bar/baz --- foo/bar/bazz     <-- master
-#             \
-#              --- foo/barf/bazf   <-- conflict_branch
-#               \
-#                --- foo/bart/baz  <-- clean_branch
-
-Next, test git merge --abort with the following variables:
-- before/after successful merge (should fail when not in merge context)
-- with/without conflicts
-- clean/dirty index before merge
-- clean/dirty worktree before merge
-- dirty index before merge matches contents on remote branch
-- changed/unchanged worktree after merge
-- changed/unchanged index after merge
-'
-. ./test-lib.sh
-
-test_expect_success 'setup' '
-	# Create the above repo
-	echo foo > foo &&
-	echo bar > bar &&
-	echo baz > baz &&
-	git add foo bar baz &&
-	git commit -m initial &&
-	echo bazz > baz &&
-	git commit -a -m "second" &&
-	git checkout -b conflict_branch HEAD^ &&
-	echo barf > bar &&
-	echo bazf > baz &&
-	git commit -a -m "conflict" &&
-	git checkout -b clean_branch HEAD^ &&
-	echo bart > bar &&
-	git commit -a -m "clean" &&
-	git checkout master
-'
-
-pre_merge_head="$(git rev-parse HEAD)"
-
-test_expect_success 'fails without MERGE_HEAD (unstarted merge)' '
-	test_must_fail git merge --abort 2>output &&
-	test_i18ngrep MERGE_HEAD output
-'
-
-test_expect_success 'fails without MERGE_HEAD (unstarted merge): .git/MERGE_HEAD sanity' '
-	test ! -f .git/MERGE_HEAD &&
-	test "$pre_merge_head" = "$(git rev-parse HEAD)"
-'
-
-test_expect_success 'fails without MERGE_HEAD (completed merge)' '
-	git merge clean_branch &&
-	test ! -f .git/MERGE_HEAD &&
-	# Merge successfully completed
-	post_merge_head="$(git rev-parse HEAD)" &&
-	test_must_fail git merge --abort 2>output &&
-	test_i18ngrep MERGE_HEAD output
-'
-
-test_expect_success 'fails without MERGE_HEAD (completed merge): .git/MERGE_HEAD sanity' '
-	test ! -f .git/MERGE_HEAD &&
-	test "$post_merge_head" = "$(git rev-parse HEAD)"
-'
-
-test_expect_success 'Forget previous merge' '
-	git reset --hard "$pre_merge_head"
-'
-
-test_expect_success 'Abort after --no-commit' '
-	# Redo merge, but stop before creating merge commit
-	git merge --no-commit clean_branch &&
-	test -f .git/MERGE_HEAD &&
-	# Abort non-conflicting merge
-	git merge --abort &&
-	test ! -f .git/MERGE_HEAD &&
-	test "$pre_merge_head" = "$(git rev-parse HEAD)" &&
-	test -z "$(git diff)" &&
-	test -z "$(git diff --staged)"
-'
-
-test_expect_success 'Abort after conflicts' '
-	# Create conflicting merge
-	test_must_fail git merge conflict_branch &&
-	test -f .git/MERGE_HEAD &&
-	# Abort conflicting merge
-	git merge --abort &&
-	test ! -f .git/MERGE_HEAD &&
-	test "$pre_merge_head" = "$(git rev-parse HEAD)" &&
-	test -z "$(git diff)" &&
-	test -z "$(git diff --staged)"
-'
-
-test_expect_success 'Clean merge with dirty index fails' '
-	echo xyzzy >> foo &&
-	git add foo &&
-	git diff --staged > expect &&
-	test_must_fail git merge clean_branch &&
-	test ! -f .git/MERGE_HEAD &&
-	test "$pre_merge_head" = "$(git rev-parse HEAD)" &&
-	test -z "$(git diff)" &&
-	git diff --staged > actual &&
-	test_cmp expect actual
-'
-
-test_expect_success 'Conflicting merge with dirty index fails' '
-	test_must_fail git merge conflict_branch &&
-	test ! -f .git/MERGE_HEAD &&
-	test "$pre_merge_head" = "$(git rev-parse HEAD)" &&
-	test -z "$(git diff)" &&
-	git diff --staged > actual &&
-	test_cmp expect actual
-'
-
-test_expect_success 'Reset index (but preserve worktree changes)' '
-	git reset "$pre_merge_head" &&
-	git diff > actual &&
-	test_cmp expect actual
-'
-
-test_expect_success 'Abort clean merge with non-conflicting dirty worktree' '
-	git merge --no-commit clean_branch &&
-	test -f .git/MERGE_HEAD &&
-	# Abort merge
-	git merge --abort &&
-	test ! -f .git/MERGE_HEAD &&
-	test "$pre_merge_head" = "$(git rev-parse HEAD)" &&
-	test -z "$(git diff --staged)" &&
-	git diff > actual &&
-	test_cmp expect actual
-'
-
-test_expect_success 'Abort conflicting merge with non-conflicting dirty worktree' '
-	test_must_fail git merge conflict_branch &&
-	test -f .git/MERGE_HEAD &&
-	# Abort merge
-	git merge --abort &&
-	test ! -f .git/MERGE_HEAD &&
-	test "$pre_merge_head" = "$(git rev-parse HEAD)" &&
-	test -z "$(git diff --staged)" &&
-	git diff > actual &&
-	test_cmp expect actual
-'
-
-test_expect_success 'Reset worktree changes' '
-	git reset --hard "$pre_merge_head"
-'
-
-test_expect_success 'Fail clean merge with conflicting dirty worktree' '
-	echo xyzzy >> bar &&
-	git diff > expect &&
-	test_must_fail git merge --no-commit clean_branch &&
-	test ! -f .git/MERGE_HEAD &&
-	test "$pre_merge_head" = "$(git rev-parse HEAD)" &&
-	test -z "$(git diff --staged)" &&
-	git diff > actual &&
-	test_cmp expect actual
-'
-
-test_expect_success 'Fail conflicting merge with conflicting dirty worktree' '
-	test_must_fail git merge conflict_branch &&
-	test ! -f .git/MERGE_HEAD &&
-	test "$pre_merge_head" = "$(git rev-parse HEAD)" &&
-	test -z "$(git diff --staged)" &&
-	git diff > actual &&
-	test_cmp expect actual
-'
-
-test_expect_success 'Reset worktree changes' '
-	git reset --hard "$pre_merge_head"
-'
-
-test_expect_success 'Fail clean merge with matching dirty worktree' '
-	echo bart > bar &&
-	git diff > expect &&
-	test_must_fail git merge --no-commit clean_branch &&
-	test ! -f .git/MERGE_HEAD &&
-	test "$pre_merge_head" = "$(git rev-parse HEAD)" &&
-	test -z "$(git diff --staged)" &&
-	git diff > actual &&
-	test_cmp expect actual
-'
-
-test_expect_success 'Fail conflicting merge with matching dirty worktree' '
-	echo barf > bar &&
-	git diff > expect &&
-	test_must_fail git merge conflict_branch &&
-	test ! -f .git/MERGE_HEAD &&
-	test "$pre_merge_head" = "$(git rev-parse HEAD)" &&
-	test -z "$(git diff --staged)" &&
-	git diff > actual &&
-	test_cmp expect actual
-'
-
-test_done