Subject: Re: [PATCH v3 0/8] refs: introduce support for partial reference transactions

From: Junio C Hamano <[email-masked]>
Date: Wed, 05 Mar 2025 11:28:39 -0800

Karthik Nayak <[email-masked]> writes:

> Git's reference updates are traditionally all or nothing - when
> updating multiple references in a transaction, either all updates
> succeed or none do.

I am quite confused.  In the beginning (traditionally), there was no
transaction to speak of.  You try to update two refs at the same
time, we did best effort but that was never atomic.  Later we
introduced transactions to optionally make the changes all-or-none.

So, if you want "I have these N updates, but I do not care if some
of them have to fail---just make your best effort to update as many
of them as you can", why are you still doing a transaction?

Perhaps it is merely the phrasing that makes this proposal
confusing.  If presented as "non-transactional batched updates",
perhaps it may have been more palatable.  I dunno, but "partial
transaction" does not quite sound like a transaction, at least to
me.