From: Jon Simons Date: Fri, 09 Oct 2026 19:29:47 GMT Subject: [PATCH 09/15] t5408: check refspec order with distinct destinations Message-ID: <20261009192953.81794-10-jon@jonsimons.org> In-Reply-To: <20261009192953.81794-1-jon@jonsimons.org> 26be19ba8d (send-pack: take refspecs over stdin, 2014-08-21) added tests to assert that send-pack sends command-line refspecs in the order given, and those read with --stdin after them, by pushing to the same destination twice, and seeing which update succeeded. But since 9d2962a7c4 (receive-pack: use batched reference updates, 2025-05-19) such pushes to the same destination now fail completely on the server-side with "multiple updates for ref '' not allowed", and so the ordering is no longer being asserted. Add two explicit tests to reinstate the ordering assertions. Signed-off-by: Jon Simons --- t/t5408-send-pack-stdin.sh | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/t/t5408-send-pack-stdin.sh b/t/t5408-send-pack-stdin.sh index 3c47be1af8..7af350f01c 100755 --- a/t/t5408-send-pack-stdin.sh +++ b/t/t5408-send-pack-stdin.sh @@ -67,6 +67,36 @@ test_expect_success 'stdin mixed with cmdline' ' verify_push B ' +test_expect_success 'cmdline refs are sent in order' ' + clear_remote && + test_hook -C remote.git pre-receive <<-\EOF && + cut -d" " -f3 >pushed-refs + EOF + git send-pack remote.git A:foo B:bar C:baz && + cat >expect <<-\EOF && + refs/heads/foo + refs/heads/bar + refs/heads/baz + EOF + test_cmp expect remote.git/pushed-refs +' + +test_expect_success '--stdin refs are sent after cmdline refs' ' + clear_remote && + test_hook -C remote.git pre-receive <<-\EOF && + cut -d" " -f3 >pushed-refs + EOF + echo A:bar >input && + git send-pack remote.git --stdin B:foo expect <<-\EOF && + refs/heads/foo + refs/heads/bar + EOF + test_cmp expect remote.git/pushed-refs && + verify_push B foo && + verify_push A bar +' + test_expect_success 'cmdline refs written in order' ' clear_remote && test_must_fail git send-pack remote.git A:foo B:foo 2>err && -- 2.55.0