about summary refs log tree commit diff
path: root/third_party/git/t/t5411
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/t5411
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/t5411')
-rw-r--r--third_party/git/t/t5411/common-functions.sh56
-rw-r--r--third_party/git/t/t5411/once-0010-report-status-v1.sh94
-rw-r--r--third_party/git/t/t5411/test-0000-standard-git-push.sh143
-rw-r--r--third_party/git/t/t5411/test-0001-standard-git-push--porcelain.sh147
-rw-r--r--third_party/git/t/t5411/test-0002-pre-receive-declined.sh33
-rw-r--r--third_party/git/t/t5411/test-0003-pre-receive-declined--porcelain.sh34
-rw-r--r--third_party/git/t/t5411/test-0010-proc-receive-settings.sh7
-rw-r--r--third_party/git/t/t5411/test-0011-no-hook-error.sh64
-rw-r--r--third_party/git/t/t5411/test-0012-no-hook-error--porcelain.sh66
-rw-r--r--third_party/git/t/t5411/test-0013-bad-protocol.sh217
-rw-r--r--third_party/git/t/t5411/test-0014-bad-protocol--porcelain.sh160
-rw-r--r--third_party/git/t/t5411/test-0020-report-ng.sh67
-rw-r--r--third_party/git/t/t5411/test-0021-report-ng--porcelain.sh69
-rw-r--r--third_party/git/t/t5411/test-0022-report-unexpect-ref.sh45
-rw-r--r--third_party/git/t/t5411/test-0023-report-unexpect-ref--porcelain.sh46
-rw-r--r--third_party/git/t/t5411/test-0024-report-unknown-ref.sh34
-rw-r--r--third_party/git/t/t5411/test-0025-report-unknown-ref--porcelain.sh35
-rw-r--r--third_party/git/t/t5411/test-0026-push-options.sh79
-rw-r--r--third_party/git/t/t5411/test-0027-push-options--porcelain.sh82
-rw-r--r--third_party/git/t/t5411/test-0030-report-ok.sh35
-rw-r--r--third_party/git/t/t5411/test-0031-report-ok--porcelain.sh36
-rw-r--r--third_party/git/t/t5411/test-0032-report-with-options.sh256
-rw-r--r--third_party/git/t/t5411/test-0033-report-with-options--porcelain.sh265
-rw-r--r--third_party/git/t/t5411/test-0034-report-ft.sh44
-rw-r--r--third_party/git/t/t5411/test-0035-report-ft--porcelain.sh45
-rw-r--r--third_party/git/t/t5411/test-0036-report-multi-rewrite-for-one-ref.sh227
-rw-r--r--third_party/git/t/t5411/test-0037-report-multi-rewrite-for-one-ref--porcelain.sh172
-rw-r--r--third_party/git/t/t5411/test-0038-report-mixed-refs.sh89
-rw-r--r--third_party/git/t/t5411/test-0039-report-mixed-refs--porcelain.sh91
-rw-r--r--third_party/git/t/t5411/test-0040-process-all-refs.sh113
-rw-r--r--third_party/git/t/t5411/test-0041-process-all-refs--porcelain.sh114
-rw-r--r--third_party/git/t/t5411/test-0050-proc-receive-refs-with-modifiers.sh135
32 files changed, 0 insertions, 3100 deletions
diff --git a/third_party/git/t/t5411/common-functions.sh b/third_party/git/t/t5411/common-functions.sh
deleted file mode 100644
index 6580bebd8e4b..000000000000
--- a/third_party/git/t/t5411/common-functions.sh
+++ /dev/null
@@ -1,56 +0,0 @@
-# Create commits in <repo> and assign each commit's oid to shell variables
-# given in the arguments (A, B, and C). E.g.:
-#
-#     create_commits_in <repo> A B C
-#
-# NOTE: Never calling this function from a subshell since variable
-# assignments will disappear when subshell exits.
-create_commits_in () {
-	repo="$1" &&
-	if ! parent=$(git -C "$repo" rev-parse HEAD^{} --)
-	then
-		parent=
-	fi &&
-	T=$(git -C "$repo" write-tree) &&
-	shift &&
-	while test $# -gt 0
-	do
-		name=$1 &&
-		test_tick &&
-		if test -z "$parent"
-		then
-			oid=$(echo $name | git -C "$repo" commit-tree $T)
-		else
-			oid=$(echo $name | git -C "$repo" commit-tree -p $parent $T)
-		fi &&
-		eval $name=$oid &&
-		parent=$oid &&
-		shift ||
-		return 1
-	done &&
-	git -C "$repo" update-ref refs/heads/master $oid
-}
-
-# Format the output of git-push, git-show-ref and other commands to make a
-# user-friendly and stable text.  We can easily prepare the expect text
-# without having to worry about future changes of the commit ID and spaces
-# of the output.  Single quotes are replaced with double quotes, because
-# it is boring to prepare unquoted single quotes in expect text.  We also
-# remove some locale error messages, which break test if we turn on
-# `GIT_TEST_GETTEXT_POISON=true` in order to test unintentional translations
-# on plumbing commands.
-make_user_friendly_and_stable_output () {
-	sed \
-		-e "s/  *\$//" \
-		-e "s/   */ /g" \
-		-e "s/'/\"/g" \
-		-e "s/	/    /g" \
-		-e "s/$A/<COMMIT-A>/g" \
-		-e "s/$B/<COMMIT-B>/g" \
-		-e "s/$TAG/<TAG-v123>/g" \
-		-e "s/$ZERO_OID/<ZERO-OID>/g" \
-		-e "s/$(echo $A | cut -c1-7)[0-9a-f]*/<OID-A>/g" \
-		-e "s/$(echo $B | cut -c1-7)[0-9a-f]*/<OID-B>/g" \
-		-e "s#To $URL_PREFIX/upstream.git#To <URL/of/upstream.git>#" \
-		-e "/^error: / d"
-}
diff --git a/third_party/git/t/t5411/once-0010-report-status-v1.sh b/third_party/git/t/t5411/once-0010-report-status-v1.sh
deleted file mode 100644
index dc2cf4a522c5..000000000000
--- a/third_party/git/t/t5411/once-0010-report-status-v1.sh
+++ /dev/null
@@ -1,94 +0,0 @@
-test_expect_success "setup receive.procReceiveRefs" '
-	git -C "$upstream" config --add receive.procReceiveRefs refs/for
-'
-
-test_expect_success "setup proc-receive hook" '
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v \
-		-r "ok refs/for/master/topic1" \
-		-r "option fall-through" \
-		-r "ok refs/for/master/topic2" \
-		-r "option refname refs/for/changes/23/123/1" \
-		-r "option new-oid $A" \
-		-r "ok refs/for/master/topic2" \
-		-r "option refname refs/for/changes/24/124/2" \
-		-r "option old-oid $B" \
-		-r "option new-oid $A" \
-		-r "option forced-update" \
-		-r "ng refs/for/next/topic target branch not exist"
-	EOF
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push         : (B)                   refs/for/master/topic1(A)  foo(A)  refs/for/next/topic(A)  refs/for/master/topic2(A)
-test_expect_success "proc-receive: report status v1" '
-	{
-		if test -z "$GIT_DEFAULT_HASH" || test "$GIT_DEFAULT_HASH" = "sha1"
-		then
-			printf "%s %s refs/heads/master\0report-status\n" \
-				$A $B | packetize
-		else
-			printf "%s %s refs/heads/master\0report-status object-format=$GIT_DEFAULT_HASH\n" \
-				$A $B | packetize
-		fi &&
-		printf "%s %s refs/for/master/topic1\n" \
-			$ZERO_OID $A | packetize &&
-		printf "%s %s refs/heads/foo\n" \
-			$ZERO_OID $A | packetize &&
-		printf "%s %s refs/for/next/topic\n" \
-			$ZERO_OID $A | packetize &&
-		printf "%s %s refs/for/master/topic2\n" \
-			$ZERO_OID $A | packetize &&
-		printf 0000 &&
-		printf "" | git -C "$upstream" pack-objects --stdout
-	} | git receive-pack "$upstream" --stateless-rpc \
-	>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	# pre-receive hook
-	pre-receive< <COMMIT-A> <COMMIT-B> refs/heads/master
-	pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic1
-	pre-receive< <ZERO-OID> <COMMIT-A> refs/heads/foo
-	pre-receive< <ZERO-OID> <COMMIT-A> refs/for/next/topic
-	pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic2
-	# proc-receive hook
-	proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic1
-	proc-receive< <ZERO-OID> <COMMIT-A> refs/for/next/topic
-	proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic2
-	proc-receive> ok refs/for/master/topic1
-	proc-receive> option fall-through
-	proc-receive> ok refs/for/master/topic2
-	proc-receive> option refname refs/for/changes/23/123/1
-	proc-receive> option new-oid <COMMIT-A>
-	proc-receive> ok refs/for/master/topic2
-	proc-receive> option refname refs/for/changes/24/124/2
-	proc-receive> option old-oid <COMMIT-B>
-	proc-receive> option new-oid <COMMIT-A>
-	proc-receive> option forced-update
-	proc-receive> ng refs/for/next/topic target branch not exist
-	000eunpack ok
-	0019ok refs/heads/master
-	001eok refs/for/master/topic1
-	0016ok refs/heads/foo
-	0033ng refs/for/next/topic target branch not exist
-	001eok refs/for/master/topic2
-	0000# post-receive hook
-	post-receive< <COMMIT-A> <COMMIT-B> refs/heads/master
-	post-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic1
-	post-receive< <ZERO-OID> <COMMIT-A> refs/heads/foo
-	post-receive< <ZERO-OID> <COMMIT-A> refs/for/changes/23/123/1
-	post-receive< <COMMIT-B> <COMMIT-A> refs/for/changes/24/124/2
-	EOF
-	test_cmp expect actual &&
-
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-A> refs/for/master/topic1
-	<COMMIT-A> refs/heads/foo
-	<COMMIT-B> refs/heads/master
-	EOF
-	test_cmp expect actual
-'
diff --git a/third_party/git/t/t5411/test-0000-standard-git-push.sh b/third_party/git/t/t5411/test-0000-standard-git-push.sh
deleted file mode 100644
index e206587348aa..000000000000
--- a/third_party/git/t/t5411/test-0000-standard-git-push.sh
+++ /dev/null
@@ -1,143 +0,0 @@
-# Refs of upstream : master(A)  
-# Refs of workbench: master(A)  tags/v123
-# git-push         : master(B)             next(A)
-test_expect_success "git-push ($PROTOCOL)" '
-	git -C workbench push origin \
-		$B:refs/heads/master \
-		HEAD:refs/heads/next \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <COMMIT-A> <COMMIT-B> refs/heads/master
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/heads/next
-	remote: # post-receive hook
-	remote: post-receive< <COMMIT-A> <COMMIT-B> refs/heads/master
-	remote: post-receive< <ZERO-OID> <COMMIT-A> refs/heads/next
-	To <URL/of/upstream.git>
-	 <OID-A>..<OID-B> <COMMIT-B> -> master
-	 * [new branch] HEAD -> next
-	EOF
-	test_cmp expect actual &&
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-B> refs/heads/master
-	<COMMIT-A> refs/heads/next
-	EOF
-	test_cmp expect actual
-'
-
-# Refs of upstream : master(B)  next(A)
-# Refs of workbench: master(A)           tags/v123
-# git-push --atomic: master(A)  next(B)
-test_expect_success "git-push --atomic ($PROTOCOL)" '
-	test_must_fail git -C workbench push --atomic origin \
-		master \
-		$B:refs/heads/next \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out |
-		sed -n \
-			-e "/^To / { s/   */ /g; p; }" \
-			-e "/^ ! / { s/   */ /g; p; }" \
-			>actual &&
-	cat >expect <<-EOF &&
-	To <URL/of/upstream.git>
-	 ! [rejected] master -> master (non-fast-forward)
-	 ! [rejected] <COMMIT-B> -> next (atomic push failed)
-	EOF
-	test_cmp expect actual &&
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-B> refs/heads/master
-	<COMMIT-A> refs/heads/next
-	EOF
-	test_cmp expect actual
-'
-
-# Refs of upstream : master(B)  next(A)
-# Refs of workbench: master(A)           tags/v123
-# git-push         : master(A)  next(B)
-test_expect_success "non-fast-forward git-push ($PROTOCOL)" '
-	test_must_fail git \
-		-C workbench \
-		-c advice.pushUpdateRejected=false \
-		push origin \
-		master \
-		$B:refs/heads/next \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <COMMIT-A> <COMMIT-B> refs/heads/next
-	remote: # post-receive hook
-	remote: post-receive< <COMMIT-A> <COMMIT-B> refs/heads/next
-	To <URL/of/upstream.git>
-	 <OID-A>..<OID-B> <COMMIT-B> -> next
-	 ! [rejected] master -> master (non-fast-forward)
-	EOF
-	test_cmp expect actual &&
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-B> refs/heads/master
-	<COMMIT-B> refs/heads/next
-	EOF
-	test_cmp expect actual
-'
-
-# Refs of upstream : master(B)  next(B)
-# Refs of workbench: master(A)           tags/v123
-# git-push -f      : master(A)  NULL     tags/v123  refs/review/master/topic(A)  a/b/c(A)
-test_expect_success "git-push -f ($PROTOCOL)" '
-	git -C workbench push -f origin \
-		refs/tags/v123 \
-		:refs/heads/next \
-		master \
-		master:refs/review/master/topic \
-		HEAD:refs/heads/a/b/c \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <COMMIT-B> <COMMIT-A> refs/heads/master
-	remote: pre-receive< <COMMIT-B> <ZERO-OID> refs/heads/next
-	remote: pre-receive< <ZERO-OID> <TAG-v123> refs/tags/v123
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/review/master/topic
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/heads/a/b/c
-	remote: # post-receive hook
-	remote: post-receive< <COMMIT-B> <COMMIT-A> refs/heads/master
-	remote: post-receive< <COMMIT-B> <ZERO-OID> refs/heads/next
-	remote: post-receive< <ZERO-OID> <TAG-v123> refs/tags/v123
-	remote: post-receive< <ZERO-OID> <COMMIT-A> refs/review/master/topic
-	remote: post-receive< <ZERO-OID> <COMMIT-A> refs/heads/a/b/c
-	To <URL/of/upstream.git>
-	 + <OID-B>...<OID-A> master -> master (forced update)
-	 - [deleted] next
-	 * [new tag] v123 -> v123
-	 * [new reference] master -> refs/review/master/topic
-	 * [new branch] HEAD -> a/b/c
-	EOF
-	test_cmp expect actual &&
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-A> refs/heads/a/b/c
-	<COMMIT-A> refs/heads/master
-	<COMMIT-A> refs/review/master/topic
-	<TAG-v123> refs/tags/v123
-	EOF
-	test_cmp expect actual
-'
-
-# Refs of upstream : master(A)  tags/v123  refs/review/master/topic(A)  a/b/c(A)
-# Refs of workbench: master(A)  tags/v123
-test_expect_success "cleanup ($PROTOCOL)" '
-	(
-		cd "$upstream" &&
-		git update-ref -d refs/review/master/topic &&
-		git update-ref -d refs/tags/v123 &&
-		git update-ref -d refs/heads/a/b/c
-	)
-'
diff --git a/third_party/git/t/t5411/test-0001-standard-git-push--porcelain.sh b/third_party/git/t/t5411/test-0001-standard-git-push--porcelain.sh
deleted file mode 100644
index 48f6fcc84661..000000000000
--- a/third_party/git/t/t5411/test-0001-standard-git-push--porcelain.sh
+++ /dev/null
@@ -1,147 +0,0 @@
-# Refs of upstream : master(A)  
-# Refs of workbench: master(A)  tags/v123
-# git-push         : master(B)             next(A)
-test_expect_success "git-push ($PROTOCOL/porcelain)" '
-	git -C workbench push --porcelain origin \
-		$B:refs/heads/master \
-		HEAD:refs/heads/next \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <COMMIT-A> <COMMIT-B> refs/heads/master
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/heads/next
-	remote: # post-receive hook
-	remote: post-receive< <COMMIT-A> <COMMIT-B> refs/heads/master
-	remote: post-receive< <ZERO-OID> <COMMIT-A> refs/heads/next
-	To <URL/of/upstream.git>
-	     <COMMIT-B>:refs/heads/master    <OID-A>..<OID-B>
-	*    HEAD:refs/heads/next    [new branch]
-	Done
-	EOF
-	test_cmp expect actual &&
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-B> refs/heads/master
-	<COMMIT-A> refs/heads/next
-	EOF
-	test_cmp expect actual
-'
-
-# Refs of upstream : master(B)  next(A)
-# Refs of workbench: master(A)           tags/v123
-# git-push --atomic: master(A)  next(B)
-test_expect_success "git-push --atomic ($PROTOCOL/porcelain)" '
-	test_must_fail git -C workbench push --atomic --porcelain origin \
-		master \
-		$B:refs/heads/next \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out |
-		sed -n \
-			-e "s/^# GETTEXT POISON #//" \
-			-e "/^To / { s/   */ /g; p; }" \
-			-e "/^! / { s/   */ /g; p; }" \
-			>actual &&
-	cat >expect <<-EOF &&
-	To <URL/of/upstream.git>
-	! refs/heads/master:refs/heads/master [rejected] (non-fast-forward)
-	! <COMMIT-B>:refs/heads/next [rejected] (atomic push failed)
-	EOF
-	test_cmp expect actual &&
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-B> refs/heads/master
-	<COMMIT-A> refs/heads/next
-	EOF
-	test_cmp expect actual
-'
-
-# Refs of upstream : master(B)  next(A)
-# Refs of workbench: master(A)           tags/v123
-# git-push         : master(A)  next(B)
-test_expect_success "non-fast-forward git-push ($PROTOCOL/porcelain)" '
-	test_must_fail git \
-		-C workbench \
-		-c advice.pushUpdateRejected=false \
-		push --porcelain origin \
-		master \
-		$B:refs/heads/next \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <COMMIT-A> <COMMIT-B> refs/heads/next
-	remote: # post-receive hook
-	remote: post-receive< <COMMIT-A> <COMMIT-B> refs/heads/next
-	To <URL/of/upstream.git>
-	     <COMMIT-B>:refs/heads/next    <OID-A>..<OID-B>
-	!    refs/heads/master:refs/heads/master    [rejected] (non-fast-forward)
-	Done
-	EOF
-	test_cmp expect actual &&
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-B> refs/heads/master
-	<COMMIT-B> refs/heads/next
-	EOF
-	test_cmp expect actual
-'
-
-# Refs of upstream : master(B)  next(B)
-# Refs of workbench: master(A)           tags/v123
-# git-push -f      : master(A)  NULL     tags/v123  refs/review/master/topic(A)  a/b/c(A)
-test_expect_success "git-push -f ($PROTOCOL/porcelain)" '
-	git -C workbench push --porcelain -f origin \
-		refs/tags/v123 \
-		:refs/heads/next \
-		master \
-		master:refs/review/master/topic \
-		HEAD:refs/heads/a/b/c \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <COMMIT-B> <COMMIT-A> refs/heads/master
-	remote: pre-receive< <COMMIT-B> <ZERO-OID> refs/heads/next
-	remote: pre-receive< <ZERO-OID> <TAG-v123> refs/tags/v123
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/review/master/topic
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/heads/a/b/c
-	remote: # post-receive hook
-	remote: post-receive< <COMMIT-B> <COMMIT-A> refs/heads/master
-	remote: post-receive< <COMMIT-B> <ZERO-OID> refs/heads/next
-	remote: post-receive< <ZERO-OID> <TAG-v123> refs/tags/v123
-	remote: post-receive< <ZERO-OID> <COMMIT-A> refs/review/master/topic
-	remote: post-receive< <ZERO-OID> <COMMIT-A> refs/heads/a/b/c
-	To <URL/of/upstream.git>
-	+    refs/heads/master:refs/heads/master    <OID-B>...<OID-A> (forced update)
-	-    :refs/heads/next    [deleted]
-	*    refs/tags/v123:refs/tags/v123    [new tag]
-	*    refs/heads/master:refs/review/master/topic    [new reference]
-	*    HEAD:refs/heads/a/b/c    [new branch]
-	Done
-	EOF
-	test_cmp expect actual &&
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-A> refs/heads/a/b/c
-	<COMMIT-A> refs/heads/master
-	<COMMIT-A> refs/review/master/topic
-	<TAG-v123> refs/tags/v123
-	EOF
-	test_cmp expect actual
-'
-
-# Refs of upstream : master(A)  tags/v123  refs/review/master/topic(A)  a/b/c(A)
-# Refs of workbench: master(A)  tags/v123
-test_expect_success "cleanup ($PROTOCOL/porcelain)" '
-	(
-		cd "$upstream" &&
-		git update-ref -d refs/review/master/topic &&
-		git update-ref -d refs/tags/v123 &&
-		git update-ref -d refs/heads/a/b/c
-	)
-'
diff --git a/third_party/git/t/t5411/test-0002-pre-receive-declined.sh b/third_party/git/t/t5411/test-0002-pre-receive-declined.sh
deleted file mode 100644
index c246f7e68e49..000000000000
--- a/third_party/git/t/t5411/test-0002-pre-receive-declined.sh
+++ /dev/null
@@ -1,33 +0,0 @@
-test_expect_success "setup pre-receive hook ($PROTOCOL)" '
-	mv "$upstream/hooks/pre-receive" "$upstream/hooks/pre-receive.ok" &&
-	write_script "$upstream/hooks/pre-receive" <<-EOF
-	exit 1
-	EOF
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git-push         : master(B)             next(A)
-test_expect_success "git-push is declined ($PROTOCOL)" '
-	test_must_fail git -C workbench push origin \
-		$B:refs/heads/master \
-		HEAD:refs/heads/next \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	To <URL/of/upstream.git>
-	 ! [remote rejected] <COMMIT-B> -> master (pre-receive hook declined)
-	 ! [remote rejected] HEAD -> next (pre-receive hook declined)
-	EOF
-	test_cmp expect actual &&
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-A> refs/heads/master
-	EOF
-	test_cmp expect actual
-'
-
-test_expect_success "cleanup ($PROTOCOL)" '
-	mv "$upstream/hooks/pre-receive.ok" "$upstream/hooks/pre-receive"
-'
diff --git a/third_party/git/t/t5411/test-0003-pre-receive-declined--porcelain.sh b/third_party/git/t/t5411/test-0003-pre-receive-declined--porcelain.sh
deleted file mode 100644
index b14894de81f1..000000000000
--- a/third_party/git/t/t5411/test-0003-pre-receive-declined--porcelain.sh
+++ /dev/null
@@ -1,34 +0,0 @@
-test_expect_success "setup pre-receive hook ($PROTOCOL/porcelain)" '
-	mv "$upstream/hooks/pre-receive" "$upstream/hooks/pre-receive.ok" &&
-	write_script "$upstream/hooks/pre-receive" <<-EOF
-	exit 1
-	EOF
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git-push         : master(B)             next(A)
-test_expect_success "git-push is declined ($PROTOCOL/porcelain)" '
-	test_must_fail git -C workbench push --porcelain origin \
-		$B:refs/heads/master \
-		HEAD:refs/heads/next \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	To <URL/of/upstream.git>
-	!    <COMMIT-B>:refs/heads/master    [remote rejected] (pre-receive hook declined)
-	!    HEAD:refs/heads/next    [remote rejected] (pre-receive hook declined)
-	Done
-	EOF
-	test_cmp expect actual &&
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-A> refs/heads/master
-	EOF
-	test_cmp expect actual
-'
-
-test_expect_success "cleanup ($PROTOCOL/porcelain)" '
-	mv "$upstream/hooks/pre-receive.ok" "$upstream/hooks/pre-receive"
-'
diff --git a/third_party/git/t/t5411/test-0010-proc-receive-settings.sh b/third_party/git/t/t5411/test-0010-proc-receive-settings.sh
deleted file mode 100644
index a36809927b37..000000000000
--- a/third_party/git/t/t5411/test-0010-proc-receive-settings.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-test_expect_success "add two receive.procReceiveRefs settings" '
-	(
-		cd "$upstream" &&
-		git config --add receive.procReceiveRefs refs/for &&
-		git config --add receive.procReceiveRefs refs/review/
-	)
-'
diff --git a/third_party/git/t/t5411/test-0011-no-hook-error.sh b/third_party/git/t/t5411/test-0011-no-hook-error.sh
deleted file mode 100644
index bb6ec92a920f..000000000000
--- a/third_party/git/t/t5411/test-0011-no-hook-error.sh
+++ /dev/null
@@ -1,64 +0,0 @@
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push         :                       next(A)  refs/for/master/topic(A)
-test_expect_success "proc-receive: no hook, fail to push special ref ($PROTOCOL)" '
-	test_must_fail git -C workbench push origin \
-		HEAD:next \
-		HEAD:refs/for/master/topic \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/heads/next
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: error: cannot find hook "proc-receive"
-	remote: # post-receive hook
-	remote: post-receive< <ZERO-OID> <COMMIT-A> refs/heads/next
-	To <URL/of/upstream.git>
-	 * [new branch] HEAD -> next
-	 ! [remote rejected] HEAD -> refs/for/master/topic (fail to run proc-receive hook)
-	EOF
-	test_cmp expect actual &&
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-A> refs/heads/master
-	<COMMIT-A> refs/heads/next
-	EOF
-	test_cmp expect actual
-'
-
-# Refs of upstream : master(A)             next(A)
-# Refs of workbench: master(A)  tags/v123
-test_expect_success "cleanup ($PROTOCOL)" '
-	git -C "$upstream" update-ref -d refs/heads/next
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push --atomic: (B)                   next(A)  refs/for/master/topic(A)
-test_expect_success "proc-receive: no hook, all failed for atomic push ($PROTOCOL)" '
-	test_must_fail git -C workbench push --atomic origin \
-		$B:master \
-		HEAD:next \
-		HEAD:refs/for/master/topic >out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <COMMIT-A> <COMMIT-B> refs/heads/master
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/heads/next
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: error: cannot find hook "proc-receive"
-	To <URL/of/upstream.git>
-	 ! [remote rejected] <COMMIT-B> -> master (fail to run proc-receive hook)
-	 ! [remote rejected] HEAD -> next (fail to run proc-receive hook)
-	 ! [remote rejected] HEAD -> refs/for/master/topic (fail to run proc-receive hook)
-	EOF
-	test_cmp expect actual &&
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-A> refs/heads/master
-	EOF
-	test_cmp expect actual
-'
diff --git a/third_party/git/t/t5411/test-0012-no-hook-error--porcelain.sh b/third_party/git/t/t5411/test-0012-no-hook-error--porcelain.sh
deleted file mode 100644
index 4814f74dc21f..000000000000
--- a/third_party/git/t/t5411/test-0012-no-hook-error--porcelain.sh
+++ /dev/null
@@ -1,66 +0,0 @@
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push         :                       next(A)  refs/for/master/topic(A)
-test_expect_success "proc-receive: no hook, fail to push special ref ($PROTOCOL/porcelain)" '
-	test_must_fail git -C workbench push --porcelain origin \
-		HEAD:next \
-		HEAD:refs/for/master/topic \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/heads/next
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: error: cannot find hook "proc-receive"
-	remote: # post-receive hook
-	remote: post-receive< <ZERO-OID> <COMMIT-A> refs/heads/next
-	To <URL/of/upstream.git>
-	*    HEAD:refs/heads/next    [new branch]
-	!    HEAD:refs/for/master/topic    [remote rejected] (fail to run proc-receive hook)
-	Done
-	EOF
-	test_cmp expect actual &&
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-A> refs/heads/master
-	<COMMIT-A> refs/heads/next
-	EOF
-	test_cmp expect actual
-'
-
-# Refs of upstream : master(A)             next(A)
-# Refs of workbench: master(A)  tags/v123
-test_expect_success "cleanup ($PROTOCOL/porcelain)" '
-	git -C "$upstream" update-ref -d refs/heads/next
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push --atomic: (B)                   next(A)  refs/for/master/topic(A)
-test_expect_success "proc-receive: no hook, all failed for atomic push ($PROTOCOL/porcelain)" '
-	test_must_fail git -C workbench push --porcelain --atomic origin \
-		$B:master \
-		HEAD:next \
-		HEAD:refs/for/master/topic >out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <COMMIT-A> <COMMIT-B> refs/heads/master
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/heads/next
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: error: cannot find hook "proc-receive"
-	To <URL/of/upstream.git>
-	!    <COMMIT-B>:refs/heads/master    [remote rejected] (fail to run proc-receive hook)
-	!    HEAD:refs/heads/next    [remote rejected] (fail to run proc-receive hook)
-	!    HEAD:refs/for/master/topic    [remote rejected] (fail to run proc-receive hook)
-	Done
-	EOF
-	test_cmp expect actual &&
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-A> refs/heads/master
-	EOF
-	test_cmp expect actual
-'
diff --git a/third_party/git/t/t5411/test-0013-bad-protocol.sh b/third_party/git/t/t5411/test-0013-bad-protocol.sh
deleted file mode 100644
index c5fe4cb37b00..000000000000
--- a/third_party/git/t/t5411/test-0013-bad-protocol.sh
+++ /dev/null
@@ -1,217 +0,0 @@
-test_expect_success "setup proc-receive hook (unknown version, $PROTOCOL)" '
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v --version 2
-	EOF
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push         :                       refs/for/master/topic(A)
-test_expect_success "proc-receive: bad protocol (unknown version, $PROTOCOL)" '
-	test_must_fail git -C workbench push origin \
-		HEAD:refs/for/master/topic \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-
-	# Check status report for git-push
-	sed -n \
-		-e "/^To / { p; n; p; }" \
-		<actual >actual-report &&
-	cat >expect <<-EOF &&
-	To <URL/of/upstream.git>
-	 ! [remote rejected] HEAD -> refs/for/master/topic (fail to run proc-receive hook)
-	EOF
-	test_cmp expect actual-report &&
-
-	# Check error message from "receive-pack", but ignore unstable fatal error
-	# message ("remote: fatal: the remote end hung up unexpectedly") which
-	# is different from the remote HTTP server with different locale settings.
-	grep "^remote: error:" <actual >actual-error &&
-	cat >expect <<-EOF &&
-	remote: error: proc-receive version "2" is not supported
-	EOF
-	test_cmp expect actual-error &&
-
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-A> refs/heads/master
-	EOF
-	test_cmp expect actual
-'
-
-test_expect_success "setup proc-receive hook (hook --die-version, $PROTOCOL)" '
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v --die-version
-	EOF
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push         :                       refs/for/master/topic(A)
-test_expect_success "proc-receive: bad protocol (hook --die-version, $PROTOCOL)" '
-	test_must_fail git -C workbench push origin \
-		HEAD:refs/for/master/topic \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: # proc-receive hook
-	remote: fatal: bad protocol version: 1
-	remote: error: proc-receive version "0" is not supported
-	To <URL/of/upstream.git>
-	 ! [remote rejected] HEAD -> refs/for/master/topic (fail to run proc-receive hook)
-	EOF
-	test_cmp expect actual &&
-
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-A> refs/heads/master
-	EOF
-	test_cmp expect actual
-'
-
-test_expect_success "setup proc-receive hook (hook --die-readline, $PROTOCOL)" '
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v --die-readline
-	EOF
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push         :                       refs/for/master/topic(A)
-test_expect_success "proc-receive: bad protocol (hook --die-readline, $PROTOCOL)" '
-	test_must_fail git -C workbench push origin \
-		HEAD:refs/for/master/topic \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-
-	grep "remote: fatal: protocol error: expected \"old new ref\", got \"<ZERO-OID> <COMMIT-A> refs/for/master/topic\"" actual &&
-
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-A> refs/heads/master
-	EOF
-	test_cmp expect actual
-'
-
-test_expect_success "setup proc-receive hook (no report, $PROTOCOL)" '
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v
-	EOF
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push         :                       next(A)  refs/for/master/topic(A)
-test_expect_success "proc-receive: bad protocol (no report, $PROTOCOL)" '
-	test_must_fail git -C workbench push origin \
-		HEAD:refs/heads/next \
-		HEAD:refs/for/master/topic >out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/heads/next
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: # proc-receive hook
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: # post-receive hook
-	remote: post-receive< <ZERO-OID> <COMMIT-A> refs/heads/next
-	To <URL/of/upstream.git>
-	 * [new branch] HEAD -> next
-	 ! [remote rejected] HEAD -> refs/for/master/topic (proc-receive failed to report status)
-	EOF
-	test_cmp expect actual &&
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-A> refs/heads/master
-	<COMMIT-A> refs/heads/next
-	EOF
-	test_cmp expect actual
-'
-
-# Refs of upstream : master(A)             next(A)
-# Refs of workbench: master(A)  tags/v123
-test_expect_success "cleanup ($PROTOCOL)" '
-	git -C "$upstream" update-ref -d refs/heads/next
-
-'
-
-test_expect_success "setup proc-receive hook (no ref, $PROTOCOL)" '
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v \
-		-r "ok"
-	EOF
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push         :                       refs/for/master/topic
-test_expect_success "proc-receive: bad protocol (no ref, $PROTOCOL)" '
-	test_must_fail git -C workbench push origin \
-		HEAD:refs/for/master/topic\
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: # proc-receive hook
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: proc-receive> ok
-	remote: error: proc-receive reported incomplete status line: "ok"
-	To <URL/of/upstream.git>
-	 ! [remote rejected] HEAD -> refs/for/master/topic (proc-receive failed to report status)
-	EOF
-	test_cmp expect actual &&
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-A> refs/heads/master
-	EOF
-	test_cmp expect actual
-'
-
-test_expect_success "setup proc-receive hook (unknown status, $PROTOCOL)" '
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v \
-		-r "xx refs/for/master/topic"
-	EOF
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push         :                       refs/for/master/topic
-test_expect_success "proc-receive: bad protocol (unknown status, $PROTOCOL)" '
-	test_must_fail git -C workbench push origin \
-			HEAD:refs/for/master/topic \
-			>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: # proc-receive hook
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: proc-receive> xx refs/for/master/topic
-	remote: error: proc-receive reported bad status "xx" on ref "refs/for/master/topic"
-	To <URL/of/upstream.git>
-	 ! [remote rejected] HEAD -> refs/for/master/topic (proc-receive failed to report status)
-	EOF
-	test_cmp expect actual &&
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-A> refs/heads/master
-	EOF
-	test_cmp expect actual
-'
diff --git a/third_party/git/t/t5411/test-0014-bad-protocol--porcelain.sh b/third_party/git/t/t5411/test-0014-bad-protocol--porcelain.sh
deleted file mode 100644
index 53b47b018585..000000000000
--- a/third_party/git/t/t5411/test-0014-bad-protocol--porcelain.sh
+++ /dev/null
@@ -1,160 +0,0 @@
-test_expect_success "setup proc-receive hook (unknown version, $PROTOCOL/porcelain)" '
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v --version 2
-	EOF
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push         :                       refs/for/master/topic(A)
-test_expect_success "proc-receive: bad protocol (unknown version, $PROTOCOL/porcelain)" '
-	test_must_fail git -C workbench push --porcelain origin \
-		HEAD:refs/for/master/topic \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-
-	# Check status report for git-push
-	sed -n \
-		-e "/^To / { p; n; p; n; p; }" \
-		<actual >actual-report &&
-	cat >expect <<-EOF &&
-	To <URL/of/upstream.git>
-	!    HEAD:refs/for/master/topic    [remote rejected] (fail to run proc-receive hook)
-	Done
-	EOF
-	test_cmp expect actual-report &&
-
-	# Check error message from "receive-pack", but ignore unstable fatal error
-	# message ("remote: fatal: the remote end hung up unexpectedly") which
-	# is different from the remote HTTP server with different locale settings.
-	grep "^remote: error:" <actual >actual-error &&
-	cat >expect <<-EOF &&
-	remote: error: proc-receive version "2" is not supported
-	EOF
-	test_cmp expect actual-error &&
-
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-A> refs/heads/master
-	EOF
-	test_cmp expect actual
-'
-
-test_expect_success "setup proc-receive hook (no report, $PROTOCOL/porcelain)" '
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v
-	EOF
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push         :                       next(A)  refs/for/master/topic(A)
-test_expect_success "proc-receive: bad protocol (no report, $PROTOCOL/porcelain)" '
-	test_must_fail git -C workbench push --porcelain origin \
-		HEAD:refs/heads/next \
-		HEAD:refs/for/master/topic >out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/heads/next
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: # proc-receive hook
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: # post-receive hook
-	remote: post-receive< <ZERO-OID> <COMMIT-A> refs/heads/next
-	To <URL/of/upstream.git>
-	*    HEAD:refs/heads/next    [new branch]
-	!    HEAD:refs/for/master/topic    [remote rejected] (proc-receive failed to report status)
-	Done
-	EOF
-	test_cmp expect actual &&
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-A> refs/heads/master
-	<COMMIT-A> refs/heads/next
-	EOF
-	test_cmp expect actual
-'
-
-# Refs of upstream : master(A)             next(A)
-# Refs of workbench: master(A)  tags/v123
-test_expect_success "cleanup ($PROTOCOL/porcelain)" '
-	git -C "$upstream" update-ref -d refs/heads/next
-
-'
-
-test_expect_success "setup proc-receive hook (no ref, $PROTOCOL/porcelain)" '
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v \
-		-r "ok"
-	EOF
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push         :                       refs/for/master/topic
-test_expect_success "proc-receive: bad protocol (no ref, $PROTOCOL/porcelain)" '
-	test_must_fail git -C workbench push --porcelain origin \
-		HEAD:refs/for/master/topic\
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: # proc-receive hook
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: proc-receive> ok
-	remote: error: proc-receive reported incomplete status line: "ok"
-	To <URL/of/upstream.git>
-	!    HEAD:refs/for/master/topic    [remote rejected] (proc-receive failed to report status)
-	Done
-	EOF
-	test_cmp expect actual &&
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-A> refs/heads/master
-	EOF
-	test_cmp expect actual
-'
-
-test_expect_success "setup proc-receive hook (unknown status, $PROTOCOL/porcelain)" '
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v \
-		-r "xx refs/for/master/topic"
-	EOF
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push         :                       refs/for/master/topic
-test_expect_success "proc-receive: bad protocol (unknown status, $PROTOCOL/porcelain)" '
-	test_must_fail git -C workbench push --porcelain origin \
-			HEAD:refs/for/master/topic \
-			>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: # proc-receive hook
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: proc-receive> xx refs/for/master/topic
-	remote: error: proc-receive reported bad status "xx" on ref "refs/for/master/topic"
-	To <URL/of/upstream.git>
-	!    HEAD:refs/for/master/topic    [remote rejected] (proc-receive failed to report status)
-	Done
-	EOF
-	test_cmp expect actual &&
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-A> refs/heads/master
-	EOF
-	test_cmp expect actual
-'
diff --git a/third_party/git/t/t5411/test-0020-report-ng.sh b/third_party/git/t/t5411/test-0020-report-ng.sh
deleted file mode 100644
index f726b7ca9c44..000000000000
--- a/third_party/git/t/t5411/test-0020-report-ng.sh
+++ /dev/null
@@ -1,67 +0,0 @@
-test_expect_success "setup proc-receive hook (ng, no message, $PROTOCOL)" '
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v \
-		-r "ng refs/for/master/topic"
-	EOF
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push         :                       refs/for/master/topic
-test_expect_success "proc-receive: fail to update (ng, no message, $PROTOCOL)" '
-	test_must_fail git -C workbench push origin \
-		HEAD:refs/for/master/topic \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: # proc-receive hook
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: proc-receive> ng refs/for/master/topic
-	To <URL/of/upstream.git>
-	 ! [remote rejected] HEAD -> refs/for/master/topic (failed)
-	EOF
-	test_cmp expect actual &&
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-A> refs/heads/master
-	EOF
-	test_cmp expect actual
-'
-
-test_expect_success "setup proc-receive hook (ng message, $PROTOCOL)" '
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v \
-		-r "ng refs/for/master/topic error msg"
-	EOF
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push         :                       refs/for/master/topic
-test_expect_success "proc-receive: fail to update (ng, with message, $PROTOCOL)" '
-	test_must_fail git -C workbench push origin \
-		HEAD:refs/for/master/topic \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: # proc-receive hook
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: proc-receive> ng refs/for/master/topic error msg
-	To <URL/of/upstream.git>
-	 ! [remote rejected] HEAD -> refs/for/master/topic (error msg)
-	EOF
-	test_cmp expect actual &&
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-A> refs/heads/master
-	EOF
-	test_cmp expect actual
-'
diff --git a/third_party/git/t/t5411/test-0021-report-ng--porcelain.sh b/third_party/git/t/t5411/test-0021-report-ng--porcelain.sh
deleted file mode 100644
index fbf55691031b..000000000000
--- a/third_party/git/t/t5411/test-0021-report-ng--porcelain.sh
+++ /dev/null
@@ -1,69 +0,0 @@
-test_expect_success "setup proc-receive hook (ng, no message, $PROTOCOL/porcelain)" '
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v \
-		-r "ng refs/for/master/topic"
-	EOF
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push         :                       refs/for/master/topic
-test_expect_success "proc-receive: fail to update (ng, no message, $PROTOCOL/porcelain)" '
-	test_must_fail git -C workbench push --porcelain origin \
-		HEAD:refs/for/master/topic \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: # proc-receive hook
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: proc-receive> ng refs/for/master/topic
-	To <URL/of/upstream.git>
-	!    HEAD:refs/for/master/topic    [remote rejected] (failed)
-	Done
-	EOF
-	test_cmp expect actual &&
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-A> refs/heads/master
-	EOF
-	test_cmp expect actual
-'
-
-test_expect_success "setup proc-receive hook (ng message, $PROTOCOL/porcelain)" '
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v \
-		-r "ng refs/for/master/topic error msg"
-	EOF
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push         :                       refs/for/master/topic
-test_expect_success "proc-receive: fail to update (ng, with message, $PROTOCOL/porcelain)" '
-	test_must_fail git -C workbench push --porcelain origin \
-		HEAD:refs/for/master/topic \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: # proc-receive hook
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: proc-receive> ng refs/for/master/topic error msg
-	To <URL/of/upstream.git>
-	!    HEAD:refs/for/master/topic    [remote rejected] (error msg)
-	Done
-	EOF
-	test_cmp expect actual &&
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-A> refs/heads/master
-	EOF
-	test_cmp expect actual
-'
diff --git a/third_party/git/t/t5411/test-0022-report-unexpect-ref.sh b/third_party/git/t/t5411/test-0022-report-unexpect-ref.sh
deleted file mode 100644
index 92a415b929c9..000000000000
--- a/third_party/git/t/t5411/test-0022-report-unexpect-ref.sh
+++ /dev/null
@@ -1,45 +0,0 @@
-test_expect_success "setup proc-receive hook (unexpected ref, $PROTOCOL)" '
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v \
-		-r "ok refs/heads/master"
-	EOF
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push         : (B)                   refs/for/master/topic
-test_expect_success "proc-receive: report unexpected ref ($PROTOCOL)" '
-	test_must_fail git -C workbench push origin \
-		$B:refs/heads/master \
-		HEAD:refs/for/master/topic \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <COMMIT-A> <COMMIT-B> refs/heads/master
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: # proc-receive hook
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: proc-receive> ok refs/heads/master
-	remote: error: proc-receive reported status on unexpected ref: refs/heads/master
-	remote: # post-receive hook
-	remote: post-receive< <COMMIT-A> <COMMIT-B> refs/heads/master
-	To <URL/of/upstream.git>
-	 <OID-A>..<OID-B> <COMMIT-B> -> master
-	 ! [remote rejected] HEAD -> refs/for/master/topic (proc-receive failed to report status)
-	EOF
-	test_cmp expect actual &&
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-B> refs/heads/master
-	EOF
-	test_cmp expect actual
-'
-
-# Refs of upstream : master(B)
-# Refs of workbench: master(A)  tags/v123
-test_expect_success "cleanup ($PROTOCOL)" '
-	git -C "$upstream" update-ref refs/heads/master $A
-'
diff --git a/third_party/git/t/t5411/test-0023-report-unexpect-ref--porcelain.sh b/third_party/git/t/t5411/test-0023-report-unexpect-ref--porcelain.sh
deleted file mode 100644
index acbf93e40abf..000000000000
--- a/third_party/git/t/t5411/test-0023-report-unexpect-ref--porcelain.sh
+++ /dev/null
@@ -1,46 +0,0 @@
-test_expect_success "setup proc-receive hook (unexpected ref, $PROTOCOL/porcelain)" '
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v \
-		-r "ok refs/heads/master"
-	EOF
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push         : (B)                   refs/for/master/topic
-test_expect_success "proc-receive: report unexpected ref ($PROTOCOL/porcelain)" '
-	test_must_fail git -C workbench push --porcelain origin \
-		$B:refs/heads/master \
-		HEAD:refs/for/master/topic \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <COMMIT-A> <COMMIT-B> refs/heads/master
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: # proc-receive hook
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: proc-receive> ok refs/heads/master
-	remote: error: proc-receive reported status on unexpected ref: refs/heads/master
-	remote: # post-receive hook
-	remote: post-receive< <COMMIT-A> <COMMIT-B> refs/heads/master
-	To <URL/of/upstream.git>
-	     <COMMIT-B>:refs/heads/master    <OID-A>..<OID-B>
-	!    HEAD:refs/for/master/topic    [remote rejected] (proc-receive failed to report status)
-	Done
-	EOF
-	test_cmp expect actual &&
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-B> refs/heads/master
-	EOF
-	test_cmp expect actual
-'
-
-# Refs of upstream : master(B)
-# Refs of workbench: master(A)  tags/v123
-test_expect_success "cleanup ($PROTOCOL/porcelain)" '
-	git -C "$upstream" update-ref refs/heads/master $A
-'
diff --git a/third_party/git/t/t5411/test-0024-report-unknown-ref.sh b/third_party/git/t/t5411/test-0024-report-unknown-ref.sh
deleted file mode 100644
index c3946f329adc..000000000000
--- a/third_party/git/t/t5411/test-0024-report-unknown-ref.sh
+++ /dev/null
@@ -1,34 +0,0 @@
-test_expect_success "setup proc-receive hook (unexpected ref, $PROTOCOL)" '
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v \
-		-r "ok refs/for/master/topic"
-	EOF
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push         :                       refs/for/a/b/c/my/topic
-test_expect_success "proc-receive: report unknown reference ($PROTOCOL)" '
-	test_must_fail git -C workbench push origin \
-		HEAD:refs/for/a/b/c/my/topic \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/a/b/c/my/topic
-	remote: # proc-receive hook
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/a/b/c/my/topic
-	remote: proc-receive> ok refs/for/master/topic
-	remote: error: proc-receive reported status on unknown ref: refs/for/master/topic
-	To <URL/of/upstream.git>
-	 ! [remote rejected] HEAD -> refs/for/a/b/c/my/topic (proc-receive failed to report status)
-	EOF
-	test_cmp expect actual &&
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-A> refs/heads/master
-	EOF
-	test_cmp expect actual
-'
diff --git a/third_party/git/t/t5411/test-0025-report-unknown-ref--porcelain.sh b/third_party/git/t/t5411/test-0025-report-unknown-ref--porcelain.sh
deleted file mode 100644
index d093b1a5799c..000000000000
--- a/third_party/git/t/t5411/test-0025-report-unknown-ref--porcelain.sh
+++ /dev/null
@@ -1,35 +0,0 @@
-test_expect_success "setup proc-receive hook (unexpected ref, $PROTOCOL/porcelain)" '
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v \
-		-r "ok refs/for/master/topic"
-	EOF
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push         :                       refs/for/a/b/c/my/topic
-test_expect_success "proc-receive: report unknown reference ($PROTOCOL/porcelain)" '
-	test_must_fail git -C workbench push --porcelain origin \
-		HEAD:refs/for/a/b/c/my/topic \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/a/b/c/my/topic
-	remote: # proc-receive hook
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/a/b/c/my/topic
-	remote: proc-receive> ok refs/for/master/topic
-	remote: error: proc-receive reported status on unknown ref: refs/for/master/topic
-	To <URL/of/upstream.git>
-	!    HEAD:refs/for/a/b/c/my/topic    [remote rejected] (proc-receive failed to report status)
-	Done
-	EOF
-	test_cmp expect actual &&
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-A> refs/heads/master
-	EOF
-	test_cmp expect actual
-'
diff --git a/third_party/git/t/t5411/test-0026-push-options.sh b/third_party/git/t/t5411/test-0026-push-options.sh
deleted file mode 100644
index d0c4da8b2372..000000000000
--- a/third_party/git/t/t5411/test-0026-push-options.sh
+++ /dev/null
@@ -1,79 +0,0 @@
-test_expect_success "setup proc-receive hook and disable push-options ($PROTOCOL)" '
-	git -C "$upstream" config receive.advertisePushOptions false &&
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v \
-		-r "ok refs/for/master/topic"
-	EOF
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push -o ...  :                       refs/for/master/topic
-test_expect_success "proc-receive: not support push options ($PROTOCOL)" '
-	test_must_fail git -C workbench push \
-		-o issue=123 \
-		-o reviewer=user1 \
-		origin \
-		HEAD:refs/for/master/topic \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	test_i18ngrep "fatal: the receiving end does not support push options" \
-		actual &&
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-A> refs/heads/master
-	EOF
-	test_cmp expect actual
-'
-
-test_expect_success "enable push options ($PROTOCOL)" '
-	git -C "$upstream" config receive.advertisePushOptions true
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push -o ...  :                       next(A)  refs/for/master/topic
-test_expect_success "proc-receive: push with options ($PROTOCOL)" '
-	git -C workbench push \
-		--atomic \
-		-o issue=123 \
-		-o reviewer=user1 \
-		origin \
-		HEAD:refs/heads/next \
-		HEAD:refs/for/master/topic \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/heads/next
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: # proc-receive hook
-	remote: proc-receive: atomic push_options
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: proc-receive< issue=123
-	remote: proc-receive< reviewer=user1
-	remote: proc-receive> ok refs/for/master/topic
-	remote: # post-receive hook
-	remote: post-receive< <ZERO-OID> <COMMIT-A> refs/heads/next
-	remote: post-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	To <URL/of/upstream.git>
-	 * [new branch] HEAD -> next
-	 * [new reference] HEAD -> refs/for/master/topic
-	EOF
-	test_cmp expect actual &&
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-A> refs/heads/master
-	<COMMIT-A> refs/heads/next
-	EOF
-	test_cmp expect actual
-'
-
-# Refs of upstream : master(A)             next(A)
-# Refs of workbench: master(A)  tags/v123
-test_expect_success "cleanup ($PROTOCOL)" '
-	git -C "$upstream" update-ref -d refs/heads/next
-'
diff --git a/third_party/git/t/t5411/test-0027-push-options--porcelain.sh b/third_party/git/t/t5411/test-0027-push-options--porcelain.sh
deleted file mode 100644
index c89a1e7c575a..000000000000
--- a/third_party/git/t/t5411/test-0027-push-options--porcelain.sh
+++ /dev/null
@@ -1,82 +0,0 @@
-test_expect_success "setup proc-receive hook and disable push-options ($PROTOCOL/porcelain)" '
-	git -C "$upstream" config receive.advertisePushOptions false &&
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v \
-		-r "ok refs/for/master/topic"
-	EOF
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push -o ...  :                       refs/for/master/topic
-test_expect_success "proc-receive: not support push options ($PROTOCOL/porcelain)" '
-	test_must_fail git -C workbench push \
-		--porcelain \
-		-o issue=123 \
-		-o reviewer=user1 \
-		origin \
-		HEAD:refs/for/master/topic \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	test_i18ngrep "fatal: the receiving end does not support push options" \
-		actual &&
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-A> refs/heads/master
-	EOF
-	test_cmp expect actual
-'
-
-test_expect_success "enable push options ($PROTOCOL/porcelain)" '
-	git -C "$upstream" config receive.advertisePushOptions true
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push -o ...  :                       next(A)  refs/for/master/topic
-test_expect_success "proc-receive: push with options ($PROTOCOL/porcelain)" '
-	git -C workbench push \
-		--porcelain \
-		--atomic \
-		-o issue=123 \
-		-o reviewer=user1 \
-		origin \
-		HEAD:refs/heads/next \
-		HEAD:refs/for/master/topic \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/heads/next
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: # proc-receive hook
-	remote: proc-receive: atomic push_options
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: proc-receive< issue=123
-	remote: proc-receive< reviewer=user1
-	remote: proc-receive> ok refs/for/master/topic
-	remote: # post-receive hook
-	remote: post-receive< <ZERO-OID> <COMMIT-A> refs/heads/next
-	remote: post-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	To <URL/of/upstream.git>
-	*    HEAD:refs/heads/next    [new branch]
-	*    HEAD:refs/for/master/topic    [new reference]
-	Done
-	EOF
-	test_cmp expect actual &&
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-A> refs/heads/master
-	<COMMIT-A> refs/heads/next
-	EOF
-	test_cmp expect actual
-'
-
-# Refs of upstream : master(A)             next(A)
-# Refs of workbench: master(A)  tags/v123
-test_expect_success "cleanup ($PROTOCOL/porcelain)" '
-	git -C "$upstream" update-ref -d refs/heads/next
-'
diff --git a/third_party/git/t/t5411/test-0030-report-ok.sh b/third_party/git/t/t5411/test-0030-report-ok.sh
deleted file mode 100644
index 44c99d38319a..000000000000
--- a/third_party/git/t/t5411/test-0030-report-ok.sh
+++ /dev/null
@@ -1,35 +0,0 @@
-test_expect_success "setup proc-receive hook (ok, $PROTOCOL)" '
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v \
-		-r "ok refs/for/master/topic"
-	EOF
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push         :                       refs/for/master/topic
-test_expect_success "proc-receive: ok ($PROTOCOL)" '
-	git -C workbench push origin \
-		HEAD:refs/for/master/topic \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: # proc-receive hook
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: proc-receive> ok refs/for/master/topic
-	remote: # post-receive hook
-	remote: post-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	To <URL/of/upstream.git>
-	 * [new reference] HEAD -> refs/for/master/topic
-	EOF
-	test_cmp expect actual &&
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-A> refs/heads/master
-	EOF
-	test_cmp expect actual
-'
diff --git a/third_party/git/t/t5411/test-0031-report-ok--porcelain.sh b/third_party/git/t/t5411/test-0031-report-ok--porcelain.sh
deleted file mode 100644
index 3223b26184f4..000000000000
--- a/third_party/git/t/t5411/test-0031-report-ok--porcelain.sh
+++ /dev/null
@@ -1,36 +0,0 @@
-test_expect_success "setup proc-receive hook (ok, $PROTOCOL/porcelain)" '
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v \
-		-r "ok refs/for/master/topic"
-	EOF
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push         :                       refs/for/master/topic
-test_expect_success "proc-receive: ok ($PROTOCOL/porcelain)" '
-	git -C workbench push --porcelain origin \
-		HEAD:refs/for/master/topic \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: # proc-receive hook
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: proc-receive> ok refs/for/master/topic
-	remote: # post-receive hook
-	remote: post-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	To <URL/of/upstream.git>
-	*    HEAD:refs/for/master/topic    [new reference]
-	Done
-	EOF
-	test_cmp expect actual &&
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-A> refs/heads/master
-	EOF
-	test_cmp expect actual
-'
diff --git a/third_party/git/t/t5411/test-0032-report-with-options.sh b/third_party/git/t/t5411/test-0032-report-with-options.sh
deleted file mode 100644
index b77b78c49ff9..000000000000
--- a/third_party/git/t/t5411/test-0032-report-with-options.sh
+++ /dev/null
@@ -1,256 +0,0 @@
-test_expect_success "setup proc-receive hook (option without matching ok, $PROTOCOL)" '
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v \
-		-r "option refname refs/pull/123/head" \
-		-r "option old-oid $B"
-	EOF
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push         :                       refs/for/next/topic(A)  refs/for/a/b/c/topic(A)  refs/for/master/topic(A)
-test_expect_success "proc-receive: report option without matching ok ($PROTOCOL)" '
-	test_must_fail git -C workbench push origin \
-		HEAD:refs/for/master/topic \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: # proc-receive hook
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: proc-receive> option refname refs/pull/123/head
-	remote: proc-receive> option old-oid <COMMIT-B>
-	remote: error: proc-receive reported "option" without a matching "ok/ng" directive
-	To <URL/of/upstream.git>
-	 ! [remote rejected] HEAD -> refs/for/master/topic (proc-receive failed to report status)
-	EOF
-	test_cmp expect actual
-'
-
-test_expect_success "setup proc-receive hook (option refname, $PROTOCOL)" '
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v \
-		-r "ok refs/for/master/topic" \
-		-r "option refname refs/pull/123/head"
-	EOF
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push         :                       refs/for/next/topic(A)  refs/for/a/b/c/topic(A)  refs/for/master/topic(A)
-test_expect_success "proc-receive: report option refname ($PROTOCOL)" '
-	git -C workbench push origin \
-		HEAD:refs/for/master/topic \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: # proc-receive hook
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: proc-receive> ok refs/for/master/topic
-	remote: proc-receive> option refname refs/pull/123/head
-	remote: # post-receive hook
-	remote: post-receive< <ZERO-OID> <COMMIT-A> refs/pull/123/head
-	To <URL/of/upstream.git>
-	 * [new reference] HEAD -> refs/pull/123/head
-	EOF
-	test_cmp expect actual
-'
-
-test_expect_success "setup proc-receive hook (option refname and forced-update, $PROTOCOL)" '
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v \
-		-r "ok refs/for/master/topic" \
-		-r "option refname refs/pull/123/head" \
-		-r "option forced-update"
-	EOF
-'
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push         :                       refs/for/next/topic(A)  refs/for/a/b/c/topic(A)  refs/for/master/topic(A)
-test_expect_success "proc-receive: report option refname and forced-update ($PROTOCOL)" '
-	git -C workbench push origin \
-		HEAD:refs/for/master/topic \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: # proc-receive hook
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: proc-receive> ok refs/for/master/topic
-	remote: proc-receive> option refname refs/pull/123/head
-	remote: proc-receive> option forced-update
-	remote: # post-receive hook
-	remote: post-receive< <ZERO-OID> <COMMIT-A> refs/pull/123/head
-	To <URL/of/upstream.git>
-	 * [new reference] HEAD -> refs/pull/123/head
-	EOF
-	test_cmp expect actual
-'
-
-test_expect_success "setup proc-receive hook (option refname and old-oid, $PROTOCOL)" '
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v \
-		-r "ok refs/for/master/topic" \
-		-r "option refname refs/pull/123/head" \
-		-r "option old-oid $B"
-	EOF
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push         :                       refs/for/next/topic(A)  refs/for/a/b/c/topic(A)  refs/for/master/topic(A)
-test_expect_success "proc-receive: report option refname and old-oid ($PROTOCOL)" '
-	git -C workbench push origin \
-		HEAD:refs/for/master/topic \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: # proc-receive hook
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: proc-receive> ok refs/for/master/topic
-	remote: proc-receive> option refname refs/pull/123/head
-	remote: proc-receive> option old-oid <COMMIT-B>
-	remote: # post-receive hook
-	remote: post-receive< <COMMIT-B> <COMMIT-A> refs/pull/123/head
-	To <URL/of/upstream.git>
-	 <OID-B>..<OID-A> HEAD -> refs/pull/123/head
-	EOF
-	test_cmp expect actual
-'
-
-test_expect_success "setup proc-receive hook (option old-oid, $PROTOCOL)" '
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v \
-		-r "ok refs/for/master/topic" \
-		-r "option old-oid $B"
-	EOF
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push         :                       refs/for/next/topic(A)  refs/for/a/b/c/topic(A)  refs/for/master/topic(A)
-test_expect_success "proc-receive: report option old-oid ($PROTOCOL)" '
-	git -C workbench push origin \
-		HEAD:refs/for/master/topic \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: # proc-receive hook
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: proc-receive> ok refs/for/master/topic
-	remote: proc-receive> option old-oid <COMMIT-B>
-	remote: # post-receive hook
-	remote: post-receive< <COMMIT-B> <COMMIT-A> refs/for/master/topic
-	To <URL/of/upstream.git>
-	 <OID-B>..<OID-A> HEAD -> refs/for/master/topic
-	EOF
-	test_cmp expect actual
-'
-
-test_expect_success "setup proc-receive hook (option old-oid and new-oid, $PROTOCOL)" '
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v \
-		-r "ok refs/for/master/topic" \
-		-r "option old-oid $A" \
-		-r "option new-oid $B"
-	EOF
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push         :                       refs/for/next/topic(A)  refs/for/a/b/c/topic(A)  refs/for/master/topic(A)
-test_expect_success "proc-receive: report option old-oid and new-oid ($PROTOCOL)" '
-	git -C workbench push origin \
-		HEAD:refs/for/master/topic \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: # proc-receive hook
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: proc-receive> ok refs/for/master/topic
-	remote: proc-receive> option old-oid <COMMIT-A>
-	remote: proc-receive> option new-oid <COMMIT-B>
-	remote: # post-receive hook
-	remote: post-receive< <COMMIT-A> <COMMIT-B> refs/for/master/topic
-	To <URL/of/upstream.git>
-	 <OID-A>..<OID-B> HEAD -> refs/for/master/topic
-	EOF
-	test_cmp expect actual
-'
-
-test_expect_success "setup proc-receive hook (report with multiple rewrites, $PROTOCOL)" '
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v \
-		-r "ok refs/for/a/b/c/topic" \
-		-r "ok refs/for/next/topic" \
-		-r "option refname refs/pull/123/head" \
-		-r "ok refs/for/master/topic" \
-		-r "option refname refs/pull/124/head" \
-		-r "option old-oid $B" \
-		-r "option forced-update" \
-		-r "option new-oid $A"
-	EOF
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push         :                       refs/for/next/topic(A)  refs/for/a/b/c/topic(A)  refs/for/master/topic(A)
-test_expect_success "proc-receive: report with multiple rewrites ($PROTOCOL)" '
-	git -C workbench push origin \
-		HEAD:refs/for/next/topic \
-		HEAD:refs/for/a/b/c/topic \
-		HEAD:refs/for/master/topic \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/next/topic
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/a/b/c/topic
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: # proc-receive hook
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/next/topic
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/a/b/c/topic
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: proc-receive> ok refs/for/a/b/c/topic
-	remote: proc-receive> ok refs/for/next/topic
-	remote: proc-receive> option refname refs/pull/123/head
-	remote: proc-receive> ok refs/for/master/topic
-	remote: proc-receive> option refname refs/pull/124/head
-	remote: proc-receive> option old-oid <COMMIT-B>
-	remote: proc-receive> option forced-update
-	remote: proc-receive> option new-oid <COMMIT-A>
-	remote: # post-receive hook
-	remote: post-receive< <ZERO-OID> <COMMIT-A> refs/pull/123/head
-	remote: post-receive< <ZERO-OID> <COMMIT-A> refs/for/a/b/c/topic
-	remote: post-receive< <COMMIT-B> <COMMIT-A> refs/pull/124/head
-	To <URL/of/upstream.git>
-	 * [new reference] HEAD -> refs/pull/123/head
-	 * [new reference] HEAD -> refs/for/a/b/c/topic
-	 + <OID-B>...<OID-A> HEAD -> refs/pull/124/head (forced update)
-	EOF
-	test_cmp expect actual &&
-
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-A> refs/heads/master
-	EOF
-	test_cmp expect actual
-'
diff --git a/third_party/git/t/t5411/test-0033-report-with-options--porcelain.sh b/third_party/git/t/t5411/test-0033-report-with-options--porcelain.sh
deleted file mode 100644
index 1fe352b68608..000000000000
--- a/third_party/git/t/t5411/test-0033-report-with-options--porcelain.sh
+++ /dev/null
@@ -1,265 +0,0 @@
-test_expect_success "setup proc-receive hook (option without matching ok, $PROTOCOL/porcelain)" '
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v \
-		-r "option refname refs/pull/123/head" \
-		-r "option old-oid $B"
-	EOF
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push         :                       refs/for/next/topic(A)  refs/for/a/b/c/topic(A)  refs/for/master/topic(A)
-test_expect_success "proc-receive: report option without matching ok ($PROTOCOL/porcelain)" '
-	test_must_fail git -C workbench push --porcelain origin \
-		HEAD:refs/for/master/topic \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: # proc-receive hook
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: proc-receive> option refname refs/pull/123/head
-	remote: proc-receive> option old-oid <COMMIT-B>
-	remote: error: proc-receive reported "option" without a matching "ok/ng" directive
-	To <URL/of/upstream.git>
-	!    HEAD:refs/for/master/topic    [remote rejected] (proc-receive failed to report status)
-	Done
-	EOF
-	test_cmp expect actual
-'
-
-test_expect_success "setup proc-receive hook (option refname, $PROTOCOL/porcelain)" '
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v \
-		-r "ok refs/for/master/topic" \
-		-r "option refname refs/pull/123/head"
-	EOF
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push         :                       refs/for/next/topic(A)  refs/for/a/b/c/topic(A)  refs/for/master/topic(A)
-test_expect_success "proc-receive: report option refname ($PROTOCOL/porcelain)" '
-	git -C workbench push --porcelain origin \
-		HEAD:refs/for/master/topic \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: # proc-receive hook
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: proc-receive> ok refs/for/master/topic
-	remote: proc-receive> option refname refs/pull/123/head
-	remote: # post-receive hook
-	remote: post-receive< <ZERO-OID> <COMMIT-A> refs/pull/123/head
-	To <URL/of/upstream.git>
-	*    HEAD:refs/pull/123/head    [new reference]
-	Done
-	EOF
-	test_cmp expect actual
-'
-
-test_expect_success "setup proc-receive hook (option refname and forced-update, $PROTOCOL/porcelain)" '
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v \
-		-r "ok refs/for/master/topic" \
-		-r "option refname refs/pull/123/head" \
-		-r "option forced-update"
-	EOF
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push         :                       refs/for/next/topic(A)  refs/for/a/b/c/topic(A)  refs/for/master/topic(A)
-test_expect_success "proc-receive: report option refname and forced-update ($PROTOCOL/porcelain)" '
-	git -C workbench push --porcelain origin \
-		HEAD:refs/for/master/topic \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: # proc-receive hook
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: proc-receive> ok refs/for/master/topic
-	remote: proc-receive> option refname refs/pull/123/head
-	remote: proc-receive> option forced-update
-	remote: # post-receive hook
-	remote: post-receive< <ZERO-OID> <COMMIT-A> refs/pull/123/head
-	To <URL/of/upstream.git>
-	*    HEAD:refs/pull/123/head    [new reference]
-	Done
-	EOF
-	test_cmp expect actual
-'
-
-test_expect_success "setup proc-receive hook (option refname and old-oid, $PROTOCOL/porcelain)" '
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v \
-		-r "ok refs/for/master/topic" \
-		-r "option refname refs/pull/123/head" \
-		-r "option old-oid $B"
-	EOF
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push         :                       refs/for/next/topic(A)  refs/for/a/b/c/topic(A)  refs/for/master/topic(A)
-test_expect_success "proc-receive: report option refname and old-oid ($PROTOCOL/porcelain)" '
-	git -C workbench push --porcelain origin \
-		HEAD:refs/for/master/topic \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: # proc-receive hook
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: proc-receive> ok refs/for/master/topic
-	remote: proc-receive> option refname refs/pull/123/head
-	remote: proc-receive> option old-oid <COMMIT-B>
-	remote: # post-receive hook
-	remote: post-receive< <COMMIT-B> <COMMIT-A> refs/pull/123/head
-	To <URL/of/upstream.git>
-	     HEAD:refs/pull/123/head    <OID-B>..<OID-A>
-	Done
-	EOF
-	test_cmp expect actual
-'
-
-test_expect_success "setup proc-receive hook (option old-oid, $PROTOCOL/porcelain)" '
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v \
-		-r "ok refs/for/master/topic" \
-		-r "option old-oid $B"
-	EOF
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push         :                       refs/for/next/topic(A)  refs/for/a/b/c/topic(A)  refs/for/master/topic(A)
-test_expect_success "proc-receive: report option old-oid ($PROTOCOL/porcelain)" '
-	git -C workbench push --porcelain origin \
-		HEAD:refs/for/master/topic \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: # proc-receive hook
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: proc-receive> ok refs/for/master/topic
-	remote: proc-receive> option old-oid <COMMIT-B>
-	remote: # post-receive hook
-	remote: post-receive< <COMMIT-B> <COMMIT-A> refs/for/master/topic
-	To <URL/of/upstream.git>
-	     HEAD:refs/for/master/topic    <OID-B>..<OID-A>
-	Done
-	EOF
-	test_cmp expect actual
-'
-
-test_expect_success "setup proc-receive hook (option old-oid and new-oid, $PROTOCOL/porcelain)" '
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v \
-		-r "ok refs/for/master/topic" \
-		-r "option old-oid $A" \
-		-r "option new-oid $B"
-	EOF
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push         :                       refs/for/next/topic(A)  refs/for/a/b/c/topic(A)  refs/for/master/topic(A)
-test_expect_success "proc-receive: report option old-oid and new-oid ($PROTOCOL/porcelain)" '
-	git -C workbench push --porcelain origin \
-		HEAD:refs/for/master/topic \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: # proc-receive hook
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: proc-receive> ok refs/for/master/topic
-	remote: proc-receive> option old-oid <COMMIT-A>
-	remote: proc-receive> option new-oid <COMMIT-B>
-	remote: # post-receive hook
-	remote: post-receive< <COMMIT-A> <COMMIT-B> refs/for/master/topic
-	To <URL/of/upstream.git>
-	     HEAD:refs/for/master/topic    <OID-A>..<OID-B>
-	Done
-	EOF
-	test_cmp expect actual
-'
-
-test_expect_success "setup proc-receive hook (report with multiple rewrites, $PROTOCOL/porcelain)" '
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v \
-		-r "ok refs/for/a/b/c/topic" \
-		-r "ok refs/for/next/topic" \
-		-r "option refname refs/pull/123/head" \
-		-r "ok refs/for/master/topic" \
-		-r "option refname refs/pull/124/head" \
-		-r "option old-oid $B" \
-		-r "option forced-update" \
-		-r "option new-oid $A"
-
-	EOF
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push         :                       refs/for/next/topic(A)  refs/for/a/b/c/topic(A)  refs/for/master/topic(A)
-test_expect_success "proc-receive: report with multiple rewrites ($PROTOCOL/porcelain)" '
-	git -C workbench push --porcelain origin \
-		HEAD:refs/for/next/topic \
-		HEAD:refs/for/a/b/c/topic \
-		HEAD:refs/for/master/topic \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/next/topic
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/a/b/c/topic
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: # proc-receive hook
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/next/topic
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/a/b/c/topic
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: proc-receive> ok refs/for/a/b/c/topic
-	remote: proc-receive> ok refs/for/next/topic
-	remote: proc-receive> option refname refs/pull/123/head
-	remote: proc-receive> ok refs/for/master/topic
-	remote: proc-receive> option refname refs/pull/124/head
-	remote: proc-receive> option old-oid <COMMIT-B>
-	remote: proc-receive> option forced-update
-	remote: proc-receive> option new-oid <COMMIT-A>
-	remote: # post-receive hook
-	remote: post-receive< <ZERO-OID> <COMMIT-A> refs/pull/123/head
-	remote: post-receive< <ZERO-OID> <COMMIT-A> refs/for/a/b/c/topic
-	remote: post-receive< <COMMIT-B> <COMMIT-A> refs/pull/124/head
-	To <URL/of/upstream.git>
-	*    HEAD:refs/pull/123/head    [new reference]
-	*    HEAD:refs/for/a/b/c/topic    [new reference]
-	+    HEAD:refs/pull/124/head    <OID-B>...<OID-A> (forced update)
-	Done
-	EOF
-	test_cmp expect actual &&
-
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-A> refs/heads/master
-	EOF
-	test_cmp expect actual
-'
diff --git a/third_party/git/t/t5411/test-0034-report-ft.sh b/third_party/git/t/t5411/test-0034-report-ft.sh
deleted file mode 100644
index aca2b0676c4b..000000000000
--- a/third_party/git/t/t5411/test-0034-report-ft.sh
+++ /dev/null
@@ -1,44 +0,0 @@
-test_expect_success "setup proc-receive hook (ft, $PROTOCOL)" '
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v \
-		-r "ok refs/for/master/topic" \
-		-r "option fall-through"
-	EOF
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push         :                       refs/for/master/topic(B)
-test_expect_success "proc-receive: fall throught, let receive-pack to execute ($PROTOCOL)" '
-	git -C workbench push origin \
-		$B:refs/for/master/topic \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <ZERO-OID> <COMMIT-B> refs/for/master/topic
-	remote: # proc-receive hook
-	remote: proc-receive< <ZERO-OID> <COMMIT-B> refs/for/master/topic
-	remote: proc-receive> ok refs/for/master/topic
-	remote: proc-receive> option fall-through
-	remote: # post-receive hook
-	remote: post-receive< <ZERO-OID> <COMMIT-B> refs/for/master/topic
-	To <URL/of/upstream.git>
-	 * [new reference] <COMMIT-B> -> refs/for/master/topic
-	EOF
-	test_cmp expect actual &&
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-B> refs/for/master/topic
-	<COMMIT-A> refs/heads/master
-	EOF
-	test_cmp expect actual
-'
-
-# Refs of upstream : master(A)             refs/for/master/topic(A)
-# Refs of workbench: master(A)  tags/v123
-test_expect_success "cleanup ($PROTOCOL)" '
-	git -C "$upstream" update-ref -d refs/for/master/topic
-'
diff --git a/third_party/git/t/t5411/test-0035-report-ft--porcelain.sh b/third_party/git/t/t5411/test-0035-report-ft--porcelain.sh
deleted file mode 100644
index 30ffffb352d6..000000000000
--- a/third_party/git/t/t5411/test-0035-report-ft--porcelain.sh
+++ /dev/null
@@ -1,45 +0,0 @@
-test_expect_success "setup proc-receive hook (fall-through, $PROTOCOL/porcelain)" '
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v \
-		-r "ok refs/for/master/topic" \
-		-r "option fall-through"
-	EOF
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push         :                       refs/for/master/topic(B)
-test_expect_success "proc-receive: fall throught, let receive-pack to execute ($PROTOCOL/porcelain)" '
-	git -C workbench push --porcelain origin \
-		$B:refs/for/master/topic \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <ZERO-OID> <COMMIT-B> refs/for/master/topic
-	remote: # proc-receive hook
-	remote: proc-receive< <ZERO-OID> <COMMIT-B> refs/for/master/topic
-	remote: proc-receive> ok refs/for/master/topic
-	remote: proc-receive> option fall-through
-	remote: # post-receive hook
-	remote: post-receive< <ZERO-OID> <COMMIT-B> refs/for/master/topic
-	To <URL/of/upstream.git>
-	*    <COMMIT-B>:refs/for/master/topic    [new reference]
-	Done
-	EOF
-	test_cmp expect actual &&
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-B> refs/for/master/topic
-	<COMMIT-A> refs/heads/master
-	EOF
-	test_cmp expect actual
-'
-
-# Refs of upstream : master(A)             refs/for/master/topic(A)
-# Refs of workbench: master(A)  tags/v123
-test_expect_success "cleanup ($PROTOCOL/porcelain)" '
-	git -C "$upstream" update-ref -d refs/for/master/topic
-'
diff --git a/third_party/git/t/t5411/test-0036-report-multi-rewrite-for-one-ref.sh b/third_party/git/t/t5411/test-0036-report-multi-rewrite-for-one-ref.sh
deleted file mode 100644
index 73283d81e8a3..000000000000
--- a/third_party/git/t/t5411/test-0036-report-multi-rewrite-for-one-ref.sh
+++ /dev/null
@@ -1,227 +0,0 @@
-test_expect_success "setup git config for remote-tracking of special refs" '
-	(
-		cd workbench &&
-		if ! git config --get-all remote.origin.fetch | grep refs/for/
-		then
-			git config --add remote.origin.fetch \
-				"+refs/for/*:refs/t/for/*" &&
-			git config --add remote.origin.fetch \
-				"+refs/pull/*:refs/t/pull/*" &&
-			git config --add remote.origin.fetch \
-				"+refs/changes/*:refs/t/changes/*"
-		fi
-	)
-'
-
-test_expect_success "setup proc-receive hook (multiple rewrites for one ref, no refname for the 1st rewrite, $PROTOCOL)" '
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v \
-		-r "ok refs/for/master/topic" \
-		-r "option old-oid $A" \
-		-r "option new-oid $B" \
-		-r "ok refs/for/master/topic" \
-		-r "option refname refs/changes/24/124/1" \
-		-r "option old-oid $ZERO_OID" \
-		-r "option new-oid $A" \
-		-r "ok refs/for/master/topic" \
-		-r "option refname refs/changes/25/125/1" \
-		-r "option old-oid $A" \
-		-r "option new-oid $B"
-	EOF
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push         :                       refs/for/master/topic(A)
-test_expect_success "proc-receive: multiple rewrite for one ref, no refname for the 1st rewrite ($PROTOCOL)" '
-	git -C workbench push origin \
-		HEAD:refs/for/master/topic \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: # proc-receive hook
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: proc-receive> ok refs/for/master/topic
-	remote: proc-receive> option old-oid <COMMIT-A>
-	remote: proc-receive> option new-oid <COMMIT-B>
-	remote: proc-receive> ok refs/for/master/topic
-	remote: proc-receive> option refname refs/changes/24/124/1
-	remote: proc-receive> option old-oid <ZERO-OID>
-	remote: proc-receive> option new-oid <COMMIT-A>
-	remote: proc-receive> ok refs/for/master/topic
-	remote: proc-receive> option refname refs/changes/25/125/1
-	remote: proc-receive> option old-oid <COMMIT-A>
-	remote: proc-receive> option new-oid <COMMIT-B>
-	remote: # post-receive hook
-	remote: post-receive< <COMMIT-A> <COMMIT-B> refs/for/master/topic
-	remote: post-receive< <ZERO-OID> <COMMIT-A> refs/changes/24/124/1
-	remote: post-receive< <COMMIT-A> <COMMIT-B> refs/changes/25/125/1
-	To <URL/of/upstream.git>
-	 <OID-A>..<OID-B> HEAD -> refs/for/master/topic
-	 * [new reference] HEAD -> refs/changes/24/124/1
-	 <OID-A>..<OID-B> HEAD -> refs/changes/25/125/1
-	EOF
-	test_cmp expect actual &&
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-A> refs/heads/master
-	EOF
-	test_cmp expect actual
-'
-
-test_expect_success "proc-receive: check remote-tracking #1 ($PROTOCOL)" '
-	git -C workbench show-ref |
-		grep -v -e refs/remotes -e refs/heads -e refs/tags >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-A> refs/t/changes/24/124/1
-	<COMMIT-B> refs/t/changes/25/125/1
-	<COMMIT-B> refs/t/for/master/topic
-	EOF
-	test_cmp expect actual &&
-	git -C workbench update-ref -d refs/t/for/master/topic &&
-	git -C workbench update-ref -d refs/t/changes/24/124/1 &&
-	git -C workbench update-ref -d refs/t/changes/25/125/1
-'
-
-test_expect_success "setup proc-receive hook (multiple rewrites for one ref, no refname for the 2nd rewrite, $PROTOCOL)" '
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v \
-		-r "ok refs/for/master/topic" \
-		-r "option refname refs/changes/24/124/1" \
-		-r "option old-oid $ZERO_OID" \
-		-r "option new-oid $A" \
-		-r "ok refs/for/master/topic" \
-		-r "option old-oid $A" \
-		-r "option new-oid $B" \
-		-r "ok refs/for/master/topic" \
-		-r "option refname refs/changes/25/125/1" \
-		-r "option old-oid $B" \
-		-r "option new-oid $A" \
-		-r "option forced-update"
-	EOF
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push         :                       refs/for/master/topic(A)
-test_expect_success "proc-receive: multiple rewrites for one ref, no refname for the 2nd rewrite ($PROTOCOL)" '
-	git -C workbench push origin \
-		HEAD:refs/for/master/topic \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: # proc-receive hook
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: proc-receive> ok refs/for/master/topic
-	remote: proc-receive> option refname refs/changes/24/124/1
-	remote: proc-receive> option old-oid <ZERO-OID>
-	remote: proc-receive> option new-oid <COMMIT-A>
-	remote: proc-receive> ok refs/for/master/topic
-	remote: proc-receive> option old-oid <COMMIT-A>
-	remote: proc-receive> option new-oid <COMMIT-B>
-	remote: proc-receive> ok refs/for/master/topic
-	remote: proc-receive> option refname refs/changes/25/125/1
-	remote: proc-receive> option old-oid <COMMIT-B>
-	remote: proc-receive> option new-oid <COMMIT-A>
-	remote: proc-receive> option forced-update
-	remote: # post-receive hook
-	remote: post-receive< <ZERO-OID> <COMMIT-A> refs/changes/24/124/1
-	remote: post-receive< <COMMIT-A> <COMMIT-B> refs/for/master/topic
-	remote: post-receive< <COMMIT-B> <COMMIT-A> refs/changes/25/125/1
-	To <URL/of/upstream.git>
-	 * [new reference] HEAD -> refs/changes/24/124/1
-	 <OID-A>..<OID-B> HEAD -> refs/for/master/topic
-	 + <OID-B>...<OID-A> HEAD -> refs/changes/25/125/1 (forced update)
-	EOF
-	test_cmp expect actual &&
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-A> refs/heads/master
-	EOF
-	test_cmp expect actual
-'
-
-test_expect_success "proc-receive: check remote-tracking #2 ($PROTOCOL)" '
-	git -C workbench show-ref |
-		grep -v -e refs/remotes -e refs/heads -e refs/tags >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-A> refs/t/changes/24/124/1
-	<COMMIT-A> refs/t/changes/25/125/1
-	<COMMIT-B> refs/t/for/master/topic
-	EOF
-	test_cmp expect actual &&
-	git -C workbench update-ref -d refs/t/for/master/topic &&
-	git -C workbench update-ref -d refs/t/changes/24/124/1 &&
-	git -C workbench update-ref -d refs/t/changes/25/125/1
-'
-
-test_expect_success "setup proc-receive hook (multiple rewrites for one ref, $PROTOCOL)" '
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v \
-		-r "ok refs/for/master/topic" \
-		-r "option refname refs/changes/23/123/1" \
-		-r "ok refs/for/master/topic" \
-		-r "option refname refs/changes/24/124/2" \
-		-r "option old-oid $A" \
-		-r "option new-oid $B"
-	EOF
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push         :                       refs/for/master/topic(A)
-test_expect_success "proc-receive: multiple rewrites for one ref ($PROTOCOL)" '
-	git -C workbench push origin \
-		HEAD:refs/for/master/topic \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: # proc-receive hook
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: proc-receive> ok refs/for/master/topic
-	remote: proc-receive> option refname refs/changes/23/123/1
-	remote: proc-receive> ok refs/for/master/topic
-	remote: proc-receive> option refname refs/changes/24/124/2
-	remote: proc-receive> option old-oid <COMMIT-A>
-	remote: proc-receive> option new-oid <COMMIT-B>
-	remote: # post-receive hook
-	remote: post-receive< <ZERO-OID> <COMMIT-A> refs/changes/23/123/1
-	remote: post-receive< <COMMIT-A> <COMMIT-B> refs/changes/24/124/2
-	To <URL/of/upstream.git>
-	 * [new reference] HEAD -> refs/changes/23/123/1
-	 <OID-A>..<OID-B> HEAD -> refs/changes/24/124/2
-	EOF
-	test_cmp expect actual &&
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-A> refs/heads/master
-	EOF
-	test_cmp expect actual
-'
-
-test_expect_success "proc-receive: check remote-tracking #3 ($PROTOCOL)" '
-	git -C workbench show-ref |
-		grep -v -e refs/remotes -e refs/heads -e refs/tags >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-A> refs/t/changes/23/123/1
-	<COMMIT-B> refs/t/changes/24/124/2
-	EOF
-	test_cmp expect actual &&
-	git -C workbench update-ref -d refs/t/changes/24/124/1 &&
-	git -C workbench update-ref -d refs/t/changes/25/125/2
-'
diff --git a/third_party/git/t/t5411/test-0037-report-multi-rewrite-for-one-ref--porcelain.sh b/third_party/git/t/t5411/test-0037-report-multi-rewrite-for-one-ref--porcelain.sh
deleted file mode 100644
index 77b5b22ed4e5..000000000000
--- a/third_party/git/t/t5411/test-0037-report-multi-rewrite-for-one-ref--porcelain.sh
+++ /dev/null
@@ -1,172 +0,0 @@
-test_expect_success "setup proc-receive hook (multiple rewrites for one ref, no refname for the 1st rewrite, $PROTOCOL/porcelain)" '
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v \
-		-r "ok refs/for/master/topic" \
-		-r "option old-oid $A" \
-		-r "option new-oid $B" \
-		-r "ok refs/for/master/topic" \
-		-r "option refname refs/changes/24/124/1" \
-		-r "option old-oid $ZERO_OID" \
-		-r "option new-oid $A" \
-		-r "ok refs/for/master/topic" \
-		-r "option refname refs/changes/25/125/1" \
-		-r "option old-oid $A" \
-		-r "option new-oid $B"
-	EOF
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push         :                       refs/for/master/topic(A)
-test_expect_success "proc-receive: multiple rewrite for one ref, no refname for the 1st rewrite ($PROTOCOL/porcelain)" '
-	git -C workbench push --porcelain origin \
-		HEAD:refs/for/master/topic \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: # proc-receive hook
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: proc-receive> ok refs/for/master/topic
-	remote: proc-receive> option old-oid <COMMIT-A>
-	remote: proc-receive> option new-oid <COMMIT-B>
-	remote: proc-receive> ok refs/for/master/topic
-	remote: proc-receive> option refname refs/changes/24/124/1
-	remote: proc-receive> option old-oid <ZERO-OID>
-	remote: proc-receive> option new-oid <COMMIT-A>
-	remote: proc-receive> ok refs/for/master/topic
-	remote: proc-receive> option refname refs/changes/25/125/1
-	remote: proc-receive> option old-oid <COMMIT-A>
-	remote: proc-receive> option new-oid <COMMIT-B>
-	remote: # post-receive hook
-	remote: post-receive< <COMMIT-A> <COMMIT-B> refs/for/master/topic
-	remote: post-receive< <ZERO-OID> <COMMIT-A> refs/changes/24/124/1
-	remote: post-receive< <COMMIT-A> <COMMIT-B> refs/changes/25/125/1
-	To <URL/of/upstream.git>
-	     HEAD:refs/for/master/topic    <OID-A>..<OID-B>
-	*    HEAD:refs/changes/24/124/1    [new reference]
-	     HEAD:refs/changes/25/125/1    <OID-A>..<OID-B>
-	Done
-	EOF
-	test_cmp expect actual &&
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-A> refs/heads/master
-	EOF
-	test_cmp expect actual
-'
-
-test_expect_success "setup proc-receive hook (multiple rewrites for one ref, no refname for the 2nd rewrite, $PROTOCOL/porcelain)" '
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v \
-		-r "ok refs/for/master/topic" \
-		-r "option refname refs/changes/24/124/1" \
-		-r "option old-oid $ZERO_OID" \
-		-r "option new-oid $A" \
-		-r "ok refs/for/master/topic" \
-		-r "option old-oid $A" \
-		-r "option new-oid $B" \
-		-r "ok refs/for/master/topic" \
-		-r "option refname refs/changes/25/125/1" \
-		-r "option old-oid $B" \
-		-r "option new-oid $A" \
-		-r "option forced-update"
-	EOF
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push         :                       refs/for/master/topic(A)
-test_expect_success "proc-receive: multiple rewrites for one ref, no refname for the 2nd rewrite ($PROTOCOL/porcelain)" '
-	git -C workbench push --porcelain origin \
-		HEAD:refs/for/master/topic \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: # proc-receive hook
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: proc-receive> ok refs/for/master/topic
-	remote: proc-receive> option refname refs/changes/24/124/1
-	remote: proc-receive> option old-oid <ZERO-OID>
-	remote: proc-receive> option new-oid <COMMIT-A>
-	remote: proc-receive> ok refs/for/master/topic
-	remote: proc-receive> option old-oid <COMMIT-A>
-	remote: proc-receive> option new-oid <COMMIT-B>
-	remote: proc-receive> ok refs/for/master/topic
-	remote: proc-receive> option refname refs/changes/25/125/1
-	remote: proc-receive> option old-oid <COMMIT-B>
-	remote: proc-receive> option new-oid <COMMIT-A>
-	remote: proc-receive> option forced-update
-	remote: # post-receive hook
-	remote: post-receive< <ZERO-OID> <COMMIT-A> refs/changes/24/124/1
-	remote: post-receive< <COMMIT-A> <COMMIT-B> refs/for/master/topic
-	remote: post-receive< <COMMIT-B> <COMMIT-A> refs/changes/25/125/1
-	To <URL/of/upstream.git>
-	*    HEAD:refs/changes/24/124/1    [new reference]
-	     HEAD:refs/for/master/topic    <OID-A>..<OID-B>
-	+    HEAD:refs/changes/25/125/1    <OID-B>...<OID-A> (forced update)
-	Done
-	EOF
-	test_cmp expect actual &&
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-A> refs/heads/master
-	EOF
-	test_cmp expect actual
-'
-
-test_expect_success "setup proc-receive hook (multiple rewrites for one ref, $PROTOCOL/porcelain)" '
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v \
-		-r "ok refs/for/master/topic" \
-		-r "option refname refs/changes/23/123/1" \
-		-r "ok refs/for/master/topic" \
-		-r "option refname refs/changes/24/124/2" \
-		-r "option old-oid $A" \
-		-r "option new-oid $B"
-	EOF
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push         :                       refs/for/master/topic(A)
-test_expect_success "proc-receive: multiple rewrites for one ref ($PROTOCOL/porcelain)" '
-	git -C workbench push --porcelain origin \
-		HEAD:refs/for/master/topic \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: # proc-receive hook
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: proc-receive> ok refs/for/master/topic
-	remote: proc-receive> option refname refs/changes/23/123/1
-	remote: proc-receive> ok refs/for/master/topic
-	remote: proc-receive> option refname refs/changes/24/124/2
-	remote: proc-receive> option old-oid <COMMIT-A>
-	remote: proc-receive> option new-oid <COMMIT-B>
-	remote: # post-receive hook
-	remote: post-receive< <ZERO-OID> <COMMIT-A> refs/changes/23/123/1
-	remote: post-receive< <COMMIT-A> <COMMIT-B> refs/changes/24/124/2
-	To <URL/of/upstream.git>
-	*    HEAD:refs/changes/23/123/1    [new reference]
-	     HEAD:refs/changes/24/124/2    <OID-A>..<OID-B>
-	Done
-	EOF
-	test_cmp expect actual &&
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-A> refs/heads/master
-	EOF
-	test_cmp expect actual
-'
diff --git a/third_party/git/t/t5411/test-0038-report-mixed-refs.sh b/third_party/git/t/t5411/test-0038-report-mixed-refs.sh
deleted file mode 100644
index a74a2cb44989..000000000000
--- a/third_party/git/t/t5411/test-0038-report-mixed-refs.sh
+++ /dev/null
@@ -1,89 +0,0 @@
-test_expect_success "setup proc-receive hook ($PROTOCOL)" '
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v \
-		-r "ok refs/for/next/topic2" \
-		-r "ng refs/for/next/topic1 fail to call Web API" \
-		-r "ok refs/for/master/topic" \
-		-r "option refname refs/for/master/topic" \
-		-r "option old-oid $A" \
-		-r "option new-oid $B"
-	EOF
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push         : (B)                   bar(A)  baz(A)  refs/for/next/topic(A)  foo(A)  refs/for/master/topic(A)
-test_expect_success "proc-receive: report update of mixed refs ($PROTOCOL)" '
-	test_must_fail git -C workbench push origin \
-		$B:refs/heads/master \
-		HEAD:refs/heads/bar \
-		HEAD:refs/heads/baz \
-		HEAD:refs/for/next/topic2 \
-		HEAD:refs/for/next/topic1 \
-		HEAD:refs/heads/foo \
-		HEAD:refs/for/master/topic \
-		HEAD:refs/for/next/topic3 \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <COMMIT-A> <COMMIT-B> refs/heads/master
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/heads/bar
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/heads/baz
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/next/topic2
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/next/topic1
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/heads/foo
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/next/topic3
-	remote: # proc-receive hook
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/next/topic2
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/next/topic1
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/next/topic3
-	remote: proc-receive> ok refs/for/next/topic2
-	remote: proc-receive> ng refs/for/next/topic1 fail to call Web API
-	remote: proc-receive> ok refs/for/master/topic
-	remote: proc-receive> option refname refs/for/master/topic
-	remote: proc-receive> option old-oid <COMMIT-A>
-	remote: proc-receive> option new-oid <COMMIT-B>
-	remote: # post-receive hook
-	remote: post-receive< <COMMIT-A> <COMMIT-B> refs/heads/master
-	remote: post-receive< <ZERO-OID> <COMMIT-A> refs/heads/bar
-	remote: post-receive< <ZERO-OID> <COMMIT-A> refs/heads/baz
-	remote: post-receive< <ZERO-OID> <COMMIT-A> refs/for/next/topic2
-	remote: post-receive< <ZERO-OID> <COMMIT-A> refs/heads/foo
-	remote: post-receive< <COMMIT-A> <COMMIT-B> refs/for/master/topic
-	To <URL/of/upstream.git>
-	 <OID-A>..<OID-B> <COMMIT-B> -> master
-	 * [new branch] HEAD -> bar
-	 * [new branch] HEAD -> baz
-	 * [new reference] HEAD -> refs/for/next/topic2
-	 * [new branch] HEAD -> foo
-	 <OID-A>..<OID-B> HEAD -> refs/for/master/topic
-	 ! [remote rejected] HEAD -> refs/for/next/topic1 (fail to call Web API)
-	 ! [remote rejected] HEAD -> refs/for/next/topic3 (proc-receive failed to report status)
-	EOF
-	test_cmp expect actual &&
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-A> refs/heads/bar
-	<COMMIT-A> refs/heads/baz
-	<COMMIT-A> refs/heads/foo
-	<COMMIT-B> refs/heads/master
-	EOF
-	test_cmp expect actual
-'
-
-# Refs of upstream : master(B)             foo(A)  bar(A))  baz(A)
-# Refs of workbench: master(A)  tags/v123
-test_expect_success "cleanup ($PROTOCOL)" '
-	(
-		cd "$upstream" &&
-		git update-ref refs/heads/master $A &&
-		git update-ref -d refs/heads/foo &&
-		git update-ref -d refs/heads/bar &&
-		git update-ref -d refs/heads/baz
-	)
-'
diff --git a/third_party/git/t/t5411/test-0039-report-mixed-refs--porcelain.sh b/third_party/git/t/t5411/test-0039-report-mixed-refs--porcelain.sh
deleted file mode 100644
index e4baa13ea330..000000000000
--- a/third_party/git/t/t5411/test-0039-report-mixed-refs--porcelain.sh
+++ /dev/null
@@ -1,91 +0,0 @@
-test_expect_success "setup proc-receive hook ($PROTOCOL/porcelain)" '
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v \
-		-r "ok refs/for/next/topic2" \
-		-r "ng refs/for/next/topic1 fail to call Web API" \
-		-r "ok refs/for/master/topic" \
-		-r "option refname refs/for/master/topic" \
-		-r "option old-oid $A" \
-		-r "option new-oid $B"
-	EOF
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push         : (B)                   bar(A)  baz(A)  refs/for/next/topic(A)  foo(A)  refs/for/master/topic(A)
-test_expect_success "proc-receive: report update of mixed refs ($PROTOCOL/porcelain)" '
-	test_must_fail git -C workbench push --porcelain origin \
-		$B:refs/heads/master \
-		HEAD:refs/heads/bar \
-		HEAD:refs/heads/baz \
-		HEAD:refs/for/next/topic2 \
-		HEAD:refs/for/next/topic1 \
-		HEAD:refs/heads/foo \
-		HEAD:refs/for/master/topic \
-		HEAD:refs/for/next/topic3 \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <COMMIT-A> <COMMIT-B> refs/heads/master
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/heads/bar
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/heads/baz
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/next/topic2
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/next/topic1
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/heads/foo
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/next/topic3
-	remote: # proc-receive hook
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/next/topic2
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/next/topic1
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/next/topic3
-	remote: proc-receive> ok refs/for/next/topic2
-	remote: proc-receive> ng refs/for/next/topic1 fail to call Web API
-	remote: proc-receive> ok refs/for/master/topic
-	remote: proc-receive> option refname refs/for/master/topic
-	remote: proc-receive> option old-oid <COMMIT-A>
-	remote: proc-receive> option new-oid <COMMIT-B>
-	remote: # post-receive hook
-	remote: post-receive< <COMMIT-A> <COMMIT-B> refs/heads/master
-	remote: post-receive< <ZERO-OID> <COMMIT-A> refs/heads/bar
-	remote: post-receive< <ZERO-OID> <COMMIT-A> refs/heads/baz
-	remote: post-receive< <ZERO-OID> <COMMIT-A> refs/for/next/topic2
-	remote: post-receive< <ZERO-OID> <COMMIT-A> refs/heads/foo
-	remote: post-receive< <COMMIT-A> <COMMIT-B> refs/for/master/topic
-	To <URL/of/upstream.git>
-	     <COMMIT-B>:refs/heads/master    <OID-A>..<OID-B>
-	*    HEAD:refs/heads/bar    [new branch]
-	*    HEAD:refs/heads/baz    [new branch]
-	*    HEAD:refs/for/next/topic2    [new reference]
-	*    HEAD:refs/heads/foo    [new branch]
-	     HEAD:refs/for/master/topic    <OID-A>..<OID-B>
-	!    HEAD:refs/for/next/topic1    [remote rejected] (fail to call Web API)
-	!    HEAD:refs/for/next/topic3    [remote rejected] (proc-receive failed to report status)
-	Done
-	EOF
-	test_cmp expect actual &&
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-A> refs/heads/bar
-	<COMMIT-A> refs/heads/baz
-	<COMMIT-A> refs/heads/foo
-	<COMMIT-B> refs/heads/master
-	EOF
-	test_cmp expect actual
-'
-
-# Refs of upstream : master(B)             foo(A)  bar(A))  baz(A)
-# Refs of workbench: master(A)  tags/v123
-test_expect_success "cleanup ($PROTOCOL/porcelain)" '
-	(
-		cd "$upstream" &&
-		git update-ref refs/heads/master $A &&
-		git update-ref -d refs/heads/foo &&
-		git update-ref -d refs/heads/bar &&
-		git update-ref -d refs/heads/baz
-	)
-
-'
diff --git a/third_party/git/t/t5411/test-0040-process-all-refs.sh b/third_party/git/t/t5411/test-0040-process-all-refs.sh
deleted file mode 100644
index b07c999f5392..000000000000
--- a/third_party/git/t/t5411/test-0040-process-all-refs.sh
+++ /dev/null
@@ -1,113 +0,0 @@
-test_expect_success "config receive.procReceiveRefs = refs ($PROTOCOL)" '
-	git -C "$upstream" config --unset-all receive.procReceiveRefs &&
-	git -C "$upstream" config --add receive.procReceiveRefs refs
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-test_expect_success "setup upstream branches ($PROTOCOL)" '
-	(
-		cd "$upstream" &&
-		git update-ref refs/heads/master $B &&
-		git update-ref refs/heads/foo $A &&
-		git update-ref refs/heads/bar $A &&
-		git update-ref refs/heads/baz $A
-	)
-
-'
-
-test_expect_success "setup proc-receive hook ($PROTOCOL)" '
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v \
-		-r "ok refs/heads/master" \
-		-r "option fall-through" \
-		-r "ok refs/heads/foo" \
-		-r "option fall-through" \
-		-r "ok refs/heads/bar" \
-		-r "option fall-through" \
-		-r "ok refs/for/master/topic" \
-		-r "option refname refs/pull/123/head" \
-		-r "option old-oid $A" \
-		-r "option new-oid $B" \
-		-r "ok refs/for/next/topic" \
-		-r "option refname refs/pull/124/head" \
-		-r "option old-oid $B" \
-		-r "option new-oid $A" \
-		-r "option forced-update"
-	EOF
-'
-
-# Refs of upstream : master(B)             foo(A)  bar(A))  baz(A)
-# Refs of workbench: master(A)  tags/v123
-# git push -f      : master(A)             (NULL)  (B)              refs/for/master/topic(A)  refs/for/next/topic(A)
-test_expect_success "proc-receive: process all refs ($PROTOCOL)" '
-	git -C workbench push -f origin \
-		HEAD:refs/heads/master \
-		:refs/heads/foo \
-		$B:refs/heads/bar \
-		HEAD:refs/for/master/topic \
-		HEAD:refs/for/next/topic \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <COMMIT-A> <COMMIT-B> refs/heads/bar
-	remote: pre-receive< <COMMIT-A> <ZERO-OID> refs/heads/foo
-	remote: pre-receive< <COMMIT-B> <COMMIT-A> refs/heads/master
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/next/topic
-	remote: # proc-receive hook
-	remote: proc-receive< <COMMIT-A> <COMMIT-B> refs/heads/bar
-	remote: proc-receive< <COMMIT-A> <ZERO-OID> refs/heads/foo
-	remote: proc-receive< <COMMIT-B> <COMMIT-A> refs/heads/master
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/next/topic
-	remote: proc-receive> ok refs/heads/master
-	remote: proc-receive> option fall-through
-	remote: proc-receive> ok refs/heads/foo
-	remote: proc-receive> option fall-through
-	remote: proc-receive> ok refs/heads/bar
-	remote: proc-receive> option fall-through
-	remote: proc-receive> ok refs/for/master/topic
-	remote: proc-receive> option refname refs/pull/123/head
-	remote: proc-receive> option old-oid <COMMIT-A>
-	remote: proc-receive> option new-oid <COMMIT-B>
-	remote: proc-receive> ok refs/for/next/topic
-	remote: proc-receive> option refname refs/pull/124/head
-	remote: proc-receive> option old-oid <COMMIT-B>
-	remote: proc-receive> option new-oid <COMMIT-A>
-	remote: proc-receive> option forced-update
-	remote: # post-receive hook
-	remote: post-receive< <COMMIT-A> <COMMIT-B> refs/heads/bar
-	remote: post-receive< <COMMIT-A> <ZERO-OID> refs/heads/foo
-	remote: post-receive< <COMMIT-B> <COMMIT-A> refs/heads/master
-	remote: post-receive< <COMMIT-A> <COMMIT-B> refs/pull/123/head
-	remote: post-receive< <COMMIT-B> <COMMIT-A> refs/pull/124/head
-	To <URL/of/upstream.git>
-	 <OID-A>..<OID-B> <COMMIT-B> -> bar
-	 - [deleted] foo
-	 + <OID-B>...<OID-A> HEAD -> master (forced update)
-	 <OID-A>..<OID-B> HEAD -> refs/pull/123/head
-	 + <OID-B>...<OID-A> HEAD -> refs/pull/124/head (forced update)
-	EOF
-	test_cmp expect actual &&
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-B> refs/heads/bar
-	<COMMIT-A> refs/heads/baz
-	<COMMIT-A> refs/heads/master
-	EOF
-	test_cmp expect actual
-'
-
-# Refs of upstream : master(A)             bar(A)  baz(B)
-# Refs of workbench: master(A)  tags/v123
-test_expect_success "cleanup ($PROTOCOL)" '
-	(
-		cd "$upstream" &&
-		git update-ref -d refs/heads/bar &&
-		git update-ref -d refs/heads/baz
-	)
-'
diff --git a/third_party/git/t/t5411/test-0041-process-all-refs--porcelain.sh b/third_party/git/t/t5411/test-0041-process-all-refs--porcelain.sh
deleted file mode 100644
index 0dd982461668..000000000000
--- a/third_party/git/t/t5411/test-0041-process-all-refs--porcelain.sh
+++ /dev/null
@@ -1,114 +0,0 @@
-test_expect_success "config receive.procReceiveRefs = refs ($PROTOCOL/porcelain)" '
-	git -C "$upstream" config --unset-all receive.procReceiveRefs &&
-	git -C "$upstream" config --add receive.procReceiveRefs refs
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-test_expect_success "setup upstream branches ($PROTOCOL/porcelain)" '
-	(
-		cd "$upstream" &&
-		git update-ref refs/heads/master $B &&
-		git update-ref refs/heads/foo $A &&
-		git update-ref refs/heads/bar $A &&
-		git update-ref refs/heads/baz $A
-	)
-
-'
-
-test_expect_success "setup proc-receive hook ($PROTOCOL/porcelain)" '
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v \
-		-r "ok refs/heads/master" \
-		-r "option fall-through" \
-		-r "ok refs/heads/foo" \
-		-r "option fall-through" \
-		-r "ok refs/heads/bar" \
-		-r "option fall-through" \
-		-r "ok refs/for/master/topic" \
-		-r "option refname refs/pull/123/head" \
-		-r "option old-oid $A" \
-		-r "option new-oid $B" \
-		-r "ok refs/for/next/topic" \
-		-r "option refname refs/pull/124/head" \
-		-r "option old-oid $B" \
-		-r "option new-oid $A" \
-		-r "option forced-update"
-	EOF
-'
-
-# Refs of upstream : master(B)             foo(A)  bar(A))  baz(A)
-# Refs of workbench: master(A)  tags/v123
-# git push -f      : master(A)             (NULL)  (B)              refs/for/master/topic(A)  refs/for/next/topic(A)
-test_expect_success "proc-receive: process all refs ($PROTOCOL/porcelain)" '
-	git -C workbench push --porcelain -f origin \
-		HEAD:refs/heads/master \
-		:refs/heads/foo \
-		$B:refs/heads/bar \
-		HEAD:refs/for/master/topic \
-		HEAD:refs/for/next/topic \
-		>out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <COMMIT-A> <COMMIT-B> refs/heads/bar
-	remote: pre-receive< <COMMIT-A> <ZERO-OID> refs/heads/foo
-	remote: pre-receive< <COMMIT-B> <COMMIT-A> refs/heads/master
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/next/topic
-	remote: # proc-receive hook
-	remote: proc-receive< <COMMIT-A> <COMMIT-B> refs/heads/bar
-	remote: proc-receive< <COMMIT-A> <ZERO-OID> refs/heads/foo
-	remote: proc-receive< <COMMIT-B> <COMMIT-A> refs/heads/master
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/master/topic
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/next/topic
-	remote: proc-receive> ok refs/heads/master
-	remote: proc-receive> option fall-through
-	remote: proc-receive> ok refs/heads/foo
-	remote: proc-receive> option fall-through
-	remote: proc-receive> ok refs/heads/bar
-	remote: proc-receive> option fall-through
-	remote: proc-receive> ok refs/for/master/topic
-	remote: proc-receive> option refname refs/pull/123/head
-	remote: proc-receive> option old-oid <COMMIT-A>
-	remote: proc-receive> option new-oid <COMMIT-B>
-	remote: proc-receive> ok refs/for/next/topic
-	remote: proc-receive> option refname refs/pull/124/head
-	remote: proc-receive> option old-oid <COMMIT-B>
-	remote: proc-receive> option new-oid <COMMIT-A>
-	remote: proc-receive> option forced-update
-	remote: # post-receive hook
-	remote: post-receive< <COMMIT-A> <COMMIT-B> refs/heads/bar
-	remote: post-receive< <COMMIT-A> <ZERO-OID> refs/heads/foo
-	remote: post-receive< <COMMIT-B> <COMMIT-A> refs/heads/master
-	remote: post-receive< <COMMIT-A> <COMMIT-B> refs/pull/123/head
-	remote: post-receive< <COMMIT-B> <COMMIT-A> refs/pull/124/head
-	To <URL/of/upstream.git>
-	     <COMMIT-B>:refs/heads/bar    <OID-A>..<OID-B>
-	-    :refs/heads/foo    [deleted]
-	+    HEAD:refs/heads/master    <OID-B>...<OID-A> (forced update)
-	     HEAD:refs/pull/123/head    <OID-A>..<OID-B>
-	+    HEAD:refs/pull/124/head    <OID-B>...<OID-A> (forced update)
-	Done
-	EOF
-	test_cmp expect actual &&
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-B> refs/heads/bar
-	<COMMIT-A> refs/heads/baz
-	<COMMIT-A> refs/heads/master
-	EOF
-	test_cmp expect actual
-'
-
-# Refs of upstream : master(A)             bar(A)  baz(B)
-# Refs of workbench: master(A)  tags/v123
-test_expect_success "cleanup ($PROTOCOL/porcelain)" '
-	(
-		cd "$upstream" &&
-		git update-ref -d refs/heads/bar &&
-		git update-ref -d refs/heads/baz
-	)
-'
diff --git a/third_party/git/t/t5411/test-0050-proc-receive-refs-with-modifiers.sh b/third_party/git/t/t5411/test-0050-proc-receive-refs-with-modifiers.sh
deleted file mode 100644
index c22849cbe2fe..000000000000
--- a/third_party/git/t/t5411/test-0050-proc-receive-refs-with-modifiers.sh
+++ /dev/null
@@ -1,135 +0,0 @@
-test_expect_success "config receive.procReceiveRefs with modifiers ($PROTOCOL)" '
-	(
-		cd "$upstream" &&
-		git config --unset-all receive.procReceiveRefs &&
-		git config --add receive.procReceiveRefs m:refs/heads/master &&
-		git config --add receive.procReceiveRefs ad:refs/heads &&
-		git config --add receive.procReceiveRefs "a!:refs/heads"
-	)
-'
-
-test_expect_success "setup proc-receive hook ($PROTOCOL)" '
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v \
-		-r "ok refs/heads/master" \
-		-r "option refname refs/pull/123/head" \
-		-r "option old-oid $A" \
-		-r "option new-oid $B" \
-		-r "ok refs/tags/v123 " \
-		-r "option refname refs/pull/124/head"
-	EOF
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-# git push         : master(B)  tags/v123
-test_expect_success "proc-receive: update branch and new tag ($PROTOCOL)" '
-	git -C workbench push origin \
-		$B:refs/heads/master \
-		v123 >out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <COMMIT-A> <COMMIT-B> refs/heads/master
-	remote: pre-receive< <ZERO-OID> <TAG-v123> refs/tags/v123
-	remote: # proc-receive hook
-	remote: proc-receive< <COMMIT-A> <COMMIT-B> refs/heads/master
-	remote: proc-receive< <ZERO-OID> <TAG-v123> refs/tags/v123
-	remote: proc-receive> ok refs/heads/master
-	remote: proc-receive> option refname refs/pull/123/head
-	remote: proc-receive> option old-oid <COMMIT-A>
-	remote: proc-receive> option new-oid <COMMIT-B>
-	remote: proc-receive> ok refs/tags/v123
-	remote: proc-receive> option refname refs/pull/124/head
-	remote: # post-receive hook
-	remote: post-receive< <COMMIT-A> <COMMIT-B> refs/pull/123/head
-	remote: post-receive< <ZERO-OID> <TAG-v123> refs/pull/124/head
-	To <URL/of/upstream.git>
-	 <OID-A>..<OID-B> <COMMIT-B> -> refs/pull/123/head
-	 * [new reference] v123 -> refs/pull/124/head
-	EOF
-	test_cmp expect actual &&
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-A> refs/heads/master
-	EOF
-	test_cmp expect actual
-'
-
-# Refs of upstream : master(A)
-# Refs of workbench: master(A)  tags/v123
-test_expect_success "setup upstream: create tags/v123 ($PROTOCOL)" '
-	git -C "$upstream" update-ref refs/heads/topic $A &&
-	git -C "$upstream" update-ref refs/tags/v123 $TAG &&
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-A> refs/heads/master
-	<COMMIT-A> refs/heads/topic
-	<TAG-v123> refs/tags/v123
-	EOF
-	test_cmp expect actual
-'
-
-test_expect_success "setup proc-receive hook ($PROTOCOL)" '
-	write_script "$upstream/hooks/proc-receive" <<-EOF
-	printf >&2 "# proc-receive hook\n"
-	test-tool proc-receive -v \
-		-r "ok refs/heads/master" \
-		-r "option refname refs/pull/123/head" \
-		-r "option old-oid $A" \
-		-r "option new-oid $ZERO_OID" \
-		-r "ok refs/heads/next" \
-		-r "option refname refs/pull/124/head" \
-		-r "option new-oid $A"
-	EOF
-'
-
-# Refs of upstream : master(A)  topic(A)  tags/v123
-# Refs of workbench: master(A)            tags/v123
-# git push         : NULL       topic(B)  NULL       next(A)
-test_expect_success "proc-receive: create/delete branch, and delete tag ($PROTOCOL)" '
-	git -C workbench push origin \
-		:refs/heads/master \
-		$B:refs/heads/topic \
-		$A:refs/heads/next \
-		:refs/tags/v123 >out 2>&1 &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	remote: # pre-receive hook
-	remote: pre-receive< <COMMIT-A> <ZERO-OID> refs/heads/master
-	remote: pre-receive< <COMMIT-A> <COMMIT-B> refs/heads/topic
-	remote: pre-receive< <TAG-v123> <ZERO-OID> refs/tags/v123
-	remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/heads/next
-	remote: # proc-receive hook
-	remote: proc-receive< <COMMIT-A> <ZERO-OID> refs/heads/master
-	remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/heads/next
-	remote: proc-receive> ok refs/heads/master
-	remote: proc-receive> option refname refs/pull/123/head
-	remote: proc-receive> option old-oid <COMMIT-A>
-	remote: proc-receive> option new-oid <ZERO-OID>
-	remote: proc-receive> ok refs/heads/next
-	remote: proc-receive> option refname refs/pull/124/head
-	remote: proc-receive> option new-oid <COMMIT-A>
-	remote: # post-receive hook
-	remote: post-receive< <COMMIT-A> <ZERO-OID> refs/pull/123/head
-	remote: post-receive< <COMMIT-A> <COMMIT-B> refs/heads/topic
-	remote: post-receive< <TAG-v123> <ZERO-OID> refs/tags/v123
-	remote: post-receive< <ZERO-OID> <COMMIT-A> refs/pull/124/head
-	To <URL/of/upstream.git>
-	 - [deleted] refs/pull/123/head
-	 <OID-A>..<OID-B> <COMMIT-B> -> topic
-	 - [deleted] v123
-	 * [new reference] <COMMIT-A> -> refs/pull/124/head
-	EOF
-	test_cmp expect actual &&
-	git -C "$upstream" show-ref >out &&
-	make_user_friendly_and_stable_output <out >actual &&
-	cat >expect <<-EOF &&
-	<COMMIT-A> refs/heads/master
-	<COMMIT-B> refs/heads/topic
-	EOF
-	test_cmp expect actual
-'