Karthik Nayak <karthik.188@xxxxxxxxx> writes: > From: Karthik Nayak <karthik.188@xxxxxxxxx> > > The 'update-ref' command is used to update refs using transactions. The > command allows users to also utilize a '--stdin' mode to provide a > batch of sub-commands which can be processed in a transaction. > > Currently, the sub-commands involve {verify, delete, create, update} > and they allow users to work with regular refs in the repository. To > work with symrefs, users only have the option of using > 'git-symbolic-ref', which doesn't provide transaction support to the > users eventhough it uses the same behind the hood. > > Recently, we modified the reference backend to add symref support, > following which, 'git-symbolic-ref' also uses the transaction backend. > But, it doesn't expose this to the user. To allow users to work with > symrefs via transaction, this series adds support for new sub-commands > {symrer-verify, symref-delete, symref-create, symref-update} to the > '--stdin' mode of update-ref. These complement the existing > sub-commands. > > The patches 1, 2, & 6 fix small issues in the reference backends. The other > patches 3, 4, 5, & 7 each add one of the new sub-commands. > > The series is based off master, with 'kn/ref-transaction-symref' merged > in. > > There was some discussion [1] also about adding `old_target` support to > the existing `update` command. I think its worthwhile to do this with > some tests cleanup, will follow that up as a separate series. > > Changes since v3: > * Changed the position of `old_target` and `flags` in `ref_transaction_delete` > to make it a coherent. > * Added tests for deletion of regular refs using 'symref-delete', this lead to > adding a new commit to have specific errors for when a regular update contains > `old_target`. > > [1]: https://lore.kernel.org/r/CAOLa=ZQW-cCV5BP_fCvuZimfkjwAzjEiqXYRPft1Wf9kAX=_bw@xxxxxxxxxxxxxx > Somehow I added the wrong link in the reply-to and this has come out as a thread of its own. This is a follow up of v3: https://lore.kernel.org/all/20240530120940.456817-1-knayak@xxxxxxxxxx/#t [snip]
Attachment:
signature.asc
Description: PGP signature