Re: [PATCH 0/6] refs: provide detailed error messages when using batched update
Karthik Nayak <karthik.188@gmail.com> writes:
Show 23 quoted lines
> The refs namespace uses an error buffer to capture details about failed
> reference updates. However when we added batched update support to
> reference transactions, these messages were never propagated, instead
> only an error code pertaining to the type of failure was propagated.
>
> Currently, there are three regions which utilize batched updates:
>
> - git update-ref --batch-updates
> - git fetch
> - git receive-pack
>
> While 'git update-ref --batch-updates' was a newly introduced flag, both
> 'git fetch' and 'git receive-pack' were pre-existing. Before using
> batched updates, they provided more detailed error messages to the user,
> but this changed with the introduction of batched updates. This is a
> regression in their workings.
>
> This patch series fixes this, by passing the detailed error message and
> utilizing it whenever available. The regression was reported by Elijah
> Newren [1] and based on the patch submitted by Jeff King [2].
>
> [1]: https://lore.kernel.org/all/CABPp-BGL2tJR4dPidQuFcp-X0_VkVTknCY-0Zgo=jHVGv_P=wA@mail.gmail.com/
> [2]: https://lore.kernel.org/all/20251224081214.GA1879908@coredump.intra.peff.net/
Thanks, all. It is very nice to see such a collaboration going ;-)
Will queue.
Show 30 quoted lines
> ---
> builtin/fetch.c | 9 +++++---
> builtin/receive-pack.c | 9 ++++++--
> builtin/update-ref.c | 13 +++++++-----
> refs.c | 56 ++++++++++++++++++++++++++++++-------------------
> refs.h | 1 +
> refs/files-backend.c | 3 ++-
> refs/packed-backend.c | 9 +++++---
> refs/refs-internal.h | 4 +++-
> refs/reftable-backend.c | 3 ++-
> t/t1400-update-ref.sh | 26 +++++++++++------------
> t/t5510-fetch.sh | 8 +++----
> t/t5516-fetch-push.sh | 15 +++++++++++++
> 12 files changed, 102 insertions(+), 54 deletions(-)
>
> Karthik Nayak (6):
> refs: remove unused header
> refs: attach rejection details to updates
> refs: add rejection detail to the callback function
> update-ref: utilize rejected error details if available
> fetch: utilize rejected ref error details
> receive-pack: utilize rejected ref error details
>
>
>
> base-commit: 8745eae506f700657882b9e32b2aa00f234a6fb6
> change-id: 20260113-633-regression-lost-diagnostic-message-when-pushing-non-commit-objects-to-refs-heads-17786b20894a
>
> Thanks
> - Karthik