Subject: Re: [PATCH v6 0/7] refs: add support for transactional symref updates

From: Patrick Steinhardt <[email-masked]>
Date: Mon, 6 May 2024 09:36:46 +0200

On Fri, May 03, 2024 at 02:41:08PM +0200, Karthik Nayak wrote:
> From: Karthik Nayak <[email-masked]>
> 
> The patch series takes over from the existing patch series, wherein we
> introduced symref-* commands to git-update-ref. Since there was a ton of
> discussions on the UX of the patch series and its application, I thought it
> would be best to shorten the series and split it into multiple smaller series.
> 
> This series adds transactional support for symrefs in the reference db. Then
> we switch refs_create_symref() to start using transactions for symref updates.
> This allows us to deprecate the create_symref code in the ref_storage_be
> interface and remove all associated code which is no longer used.
> 
> The split was primarily done so we can merge the non-user facing parts of the
> previous series. While pertaining the user facing components into another set
> of patches wherein deeper discussion on the UX can be held without worrying
> about the internal implementation. Also by using this new functionality in a
> pre-existing command, we can leverage the existing tests to catch any
> inconsistencies. One of which was how 'git-symbolic-ref' doesn't add reflog for
> dangling symrefs, which I've modified my patch to do the same.
> 
> We also modify the reference transaction hook to support symrefs. For any symref
> update the reference transaction hook will output the value with a 'ref:' prefix.
> 
> Previous versions:
> V1: https://lore.kernel.org/git/[email-masked]/
> V2: https://lore.kernel.org/git/[email-masked]/
> V3: https://lore.kernel.org/git/[email-masked]/
> V4: https://lore.kernel.org/r/[email-masked]
> V5: https://lore.kernel.org/r/[email-masked]
> 
> Changes over v5 are:
> - More user friendly error messages.
> - `create_symref_lock` now writes to an err buf, instead of directly to stderr.
> - Refactor code to make it easier to read around logical operations.
> - Cleanup commit message and fix typos.

Just for the record, I don't really have much to add to this series
besides what has already been said.

Thanks!

Patrick