On Fri, May 03, 2024 at 02:41:08PM +0200, Karthik Nayak wrote: > From: Karthik Nayak > > 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/20240330224623.579457-1-knayak@gitlab.com/ > V2: https://lore.kernel.org/git/20240412095908.1134387-1-knayak@gitlab.com/ > V3: https://lore.kernel.org/git/20240423212818.574123-1-knayak@gitlab.com/ > V4: https://lore.kernel.org/r/20240426152449.228860-1-knayak@gitlab.com > V5: https://lore.kernel.org/r/20240501202229.2695774-1-knayak@gitlab.com > > 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