Message ID | 20240501202229.2695774-1-knayak@gitlab.com (mailing list archive) |
---|---|
Headers | show |
Series | refs: add support for transactional symref updates | expand |
Karthik Nayak <karthik.188@gmail.com> writes: > From: Karthik Nayak <karthik.188@gmail.com> > > 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. This split probably makes sense in the context of the evolution of this series. If this were without any prior discussion, a change to the internal mechanism, without showing how the end-user facing half would use it fully, would have been hard to evaluate, but now that we know where the new mechanism wants to take us, we can fairly evaluate it alone without the end-user facing part. I've read only the earlier half of the series but so far the pieces make sense to me.
Junio C Hamano <gitster@pobox.com> writes: > Karthik Nayak <karthik.188@gmail.com> writes: > >> From: Karthik Nayak <karthik.188@gmail.com> >> >> 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. > > This split probably makes sense in the context of the evolution of > this series. If this were without any prior discussion, a change to > the internal mechanism, without showing how the end-user facing half > would use it fully, would have been hard to evaluate, but now that > we know where the new mechanism wants to take us, we can fairly > evaluate it alone without the end-user facing part. > > I've read only the earlier half of the series but so far the pieces > make sense to me. Yes I agree, I think it's also nice to see how a bunch of code can be removed to use this generic functionality. I'll wait for a day/two for other reviews. Thanks for your review.