about summary refs log tree commit diff
path: root/third_party/git/t/t7504-commit-msg-hook.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/t7504-commit-msg-hook.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/t7504-commit-msg-hook.sh')
-rwxr-xr-xthird_party/git/t/t7504-commit-msg-hook.sh298
1 files changed, 0 insertions, 298 deletions
diff --git a/third_party/git/t/t7504-commit-msg-hook.sh b/third_party/git/t/t7504-commit-msg-hook.sh
deleted file mode 100755
index 31b9c6a2c1d3..000000000000
--- a/third_party/git/t/t7504-commit-msg-hook.sh
+++ /dev/null
@@ -1,298 +0,0 @@
-#!/bin/sh
-
-test_description='commit-msg hook'
-
-. ./test-lib.sh
-
-test_expect_success 'with no hook' '
-
-	echo "foo" > file &&
-	git add file &&
-	git commit -m "first"
-
-'
-
-# set up fake editor for interactive editing
-cat > fake-editor <<'EOF'
-#!/bin/sh
-cp FAKE_MSG "$1"
-exit 0
-EOF
-chmod +x fake-editor
-
-## Not using test_set_editor here so we can easily ensure the editor variable
-## is only set for the editor tests
-FAKE_EDITOR="$(pwd)/fake-editor"
-export FAKE_EDITOR
-
-test_expect_success 'with no hook (editor)' '
-
-	echo "more foo" >> file &&
-	git add file &&
-	echo "more foo" > FAKE_MSG &&
-	GIT_EDITOR="\"\$FAKE_EDITOR\"" git commit
-
-'
-
-test_expect_success '--no-verify with no hook' '
-
-	echo "bar" > file &&
-	git add file &&
-	git commit --no-verify -m "bar"
-
-'
-
-test_expect_success '--no-verify with no hook (editor)' '
-
-	echo "more bar" > file &&
-	git add file &&
-	echo "more bar" > FAKE_MSG &&
-	GIT_EDITOR="\"\$FAKE_EDITOR\"" git commit --no-verify
-
-'
-
-# now install hook that always succeeds
-HOOKDIR="$(git rev-parse --git-dir)/hooks"
-HOOK="$HOOKDIR/commit-msg"
-mkdir -p "$HOOKDIR"
-cat > "$HOOK" <<EOF
-#!/bin/sh
-exit 0
-EOF
-chmod +x "$HOOK"
-
-test_expect_success 'with succeeding hook' '
-
-	echo "more" >> file &&
-	git add file &&
-	git commit -m "more"
-
-'
-
-test_expect_success 'with succeeding hook (editor)' '
-
-	echo "more more" >> file &&
-	git add file &&
-	echo "more more" > FAKE_MSG &&
-	GIT_EDITOR="\"\$FAKE_EDITOR\"" git commit
-
-'
-
-test_expect_success '--no-verify with succeeding hook' '
-
-	echo "even more" >> file &&
-	git add file &&
-	git commit --no-verify -m "even more"
-
-'
-
-test_expect_success '--no-verify with succeeding hook (editor)' '
-
-	echo "even more more" >> file &&
-	git add file &&
-	echo "even more more" > FAKE_MSG &&
-	GIT_EDITOR="\"\$FAKE_EDITOR\"" git commit --no-verify
-
-'
-
-# now a hook that fails
-cat > "$HOOK" <<EOF
-#!/bin/sh
-exit 1
-EOF
-
-commit_msg_is () {
-	test "$(git log --pretty=format:%s%b -1)" = "$1"
-}
-
-test_expect_success 'with failing hook' '
-
-	echo "another" >> file &&
-	git add file &&
-	test_must_fail git commit -m "another"
-
-'
-
-test_expect_success 'with failing hook (editor)' '
-
-	echo "more another" >> file &&
-	git add file &&
-	echo "more another" > FAKE_MSG &&
-	! (GIT_EDITOR="\"\$FAKE_EDITOR\"" git commit)
-
-'
-
-test_expect_success '--no-verify with failing hook' '
-
-	echo "stuff" >> file &&
-	git add file &&
-	git commit --no-verify -m "stuff"
-
-'
-
-test_expect_success '--no-verify with failing hook (editor)' '
-
-	echo "more stuff" >> file &&
-	git add file &&
-	echo "more stuff" > FAKE_MSG &&
-	GIT_EDITOR="\"\$FAKE_EDITOR\"" git commit --no-verify
-
-'
-
-test_expect_success 'merge fails with failing hook' '
-
-	test_when_finished "git branch -D newbranch" &&
-	test_when_finished "git checkout -f master" &&
-	git checkout --orphan newbranch &&
-	: >file2 &&
-	git add file2 &&
-	git commit --no-verify file2 -m in-side-branch &&
-	test_must_fail git merge --allow-unrelated-histories master &&
-	commit_msg_is "in-side-branch" # HEAD before merge
-
-'
-
-test_expect_success 'merge bypasses failing hook with --no-verify' '
-
-	test_when_finished "git branch -D newbranch" &&
-	test_when_finished "git checkout -f master" &&
-	git checkout --orphan newbranch &&
-	git rm -f file &&
-	: >file2 &&
-	git add file2 &&
-	git commit --no-verify file2 -m in-side-branch &&
-	git merge --no-verify --allow-unrelated-histories master &&
-	commit_msg_is "Merge branch '\''master'\'' into newbranch"
-'
-
-
-chmod -x "$HOOK"
-test_expect_success POSIXPERM 'with non-executable hook' '
-
-	echo "content" >file &&
-	git add file &&
-	git commit -m "content"
-
-'
-
-test_expect_success POSIXPERM 'with non-executable hook (editor)' '
-
-	echo "content again" >> file &&
-	git add file &&
-	echo "content again" > FAKE_MSG &&
-	GIT_EDITOR="\"\$FAKE_EDITOR\"" git commit -m "content again"
-
-'
-
-test_expect_success POSIXPERM '--no-verify with non-executable hook' '
-
-	echo "more content" >> file &&
-	git add file &&
-	git commit --no-verify -m "more content"
-
-'
-
-test_expect_success POSIXPERM '--no-verify with non-executable hook (editor)' '
-
-	echo "even more content" >> file &&
-	git add file &&
-	echo "even more content" > FAKE_MSG &&
-	GIT_EDITOR="\"\$FAKE_EDITOR\"" git commit --no-verify
-
-'
-
-# now a hook that edits the commit message
-cat > "$HOOK" <<'EOF'
-#!/bin/sh
-echo "new message" > "$1"
-exit 0
-EOF
-chmod +x "$HOOK"
-
-test_expect_success 'hook edits commit message' '
-
-	echo "additional" >> file &&
-	git add file &&
-	git commit -m "additional" &&
-	commit_msg_is "new message"
-
-'
-
-test_expect_success 'hook edits commit message (editor)' '
-
-	echo "additional content" >> file &&
-	git add file &&
-	echo "additional content" > FAKE_MSG &&
-	GIT_EDITOR="\"\$FAKE_EDITOR\"" git commit &&
-	commit_msg_is "new message"
-
-'
-
-test_expect_success "hook doesn't edit commit message" '
-
-	echo "plus" >> file &&
-	git add file &&
-	git commit --no-verify -m "plus" &&
-	commit_msg_is "plus"
-
-'
-
-test_expect_success "hook doesn't edit commit message (editor)" '
-
-	echo "more plus" >> file &&
-	git add file &&
-	echo "more plus" > FAKE_MSG &&
-	GIT_EDITOR="\"\$FAKE_EDITOR\"" git commit --no-verify &&
-	commit_msg_is "more plus"
-'
-
-test_expect_success 'hook called in git-merge picks up commit message' '
-	test_when_finished "git branch -D newbranch" &&
-	test_when_finished "git checkout -f master" &&
-	git checkout --orphan newbranch &&
-	git rm -f file &&
-	: >file2 &&
-	git add file2 &&
-	git commit --no-verify file2 -m in-side-branch &&
-	git merge --allow-unrelated-histories master &&
-	commit_msg_is "new message"
-'
-
-test_expect_failure 'merge --continue remembers --no-verify' '
-	test_when_finished "git branch -D newbranch" &&
-	test_when_finished "git checkout -f master" &&
-	git checkout master &&
-	echo a >file2 &&
-	git add file2 &&
-	git commit --no-verify -m "add file2 to master" &&
-	git checkout -b newbranch master^ &&
-	echo b >file2 &&
-	git add file2 &&
-	git commit --no-verify file2 -m in-side-branch &&
-	git merge --no-verify -m not-rewritten-by-hook master &&
-	# resolve conflict:
-	echo c >file2 &&
-	git add file2 &&
-	git merge --continue &&
-	commit_msg_is not-rewritten-by-hook
-'
-
-# set up fake editor to replace `pick` by `reword`
-cat > reword-editor <<'EOF'
-#!/bin/sh
-mv "$1" "$1".bup &&
-sed 's/^pick/reword/' <"$1".bup >"$1"
-EOF
-chmod +x reword-editor
-REWORD_EDITOR="$(pwd)/reword-editor"
-export REWORD_EDITOR
-
-test_expect_success 'hook is called for reword during `rebase -i`' '
-
-	GIT_SEQUENCE_EDITOR="\"$REWORD_EDITOR\"" git rebase -i HEAD^ &&
-	commit_msg_is "new message"
-
-'
-
-
-test_done