Thread (1 message) 1 message, 1 author, 2022-02-17

Re: [PATCH v2 6/7] fetch: make `--atomic` flag cover backfilling of tags

From: Junio C Hamano <hidden>
Date: 2022-02-17 22:27:11

Patrick Steinhardt [off-list ref] writes:
Fix this by pulling up creation of the reference transaction such that
we can pass the same transaction to both the code which updates local
references and to the code which backfills tags. This allows us to only
commit the transaction in case both actions succeed.
OK, having done the FETCH_HEAD thing, the idea is quite similar.
Instead of letting two invocations to store_updated_refs() to
independently open and close separate transactions, we control
everything centrally in do_fetch().

Makes sense.
quoted hunk
@@ -197,12 +194,10 @@ test_expect_success 'atomic fetch with backfill should use single transaction' '
 		prepared
 		$ZERO_OID $B refs/heads/something
 		$ZERO_OID $S refs/tags/tag2
+		$ZERO_OID $T refs/tags/tag1
 		committed
 		$ZERO_OID $B refs/heads/something
 		$ZERO_OID $S refs/tags/tag2
-		prepared
-		$ZERO_OID $T refs/tags/tag1
-		committed
 		$ZERO_OID $T refs/tags/tag1
 	EOF
OK.

Unlike the "expect the behaviour at the end of the series from the
beginning with known-to-fail tests" pattern I cautioned against in
an earlier step, this is a good way to show how the behaviour
changes.

Thanks.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help