From: Karthik Nayak Date: Fri, 16 Jan 2026 21:27:08 +0000 (+0100) Subject: refs: add rejection detail to the callback function X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b72378a4c171d372c164af6f0f8b963101991dcd;p=thirdparty%2Fgit.git refs: add rejection detail to the callback function The previous commit started storing the rejection details alongside the error code for rejected updates. Pass this along to the callback function `ref_transaction_for_each_rejected_update()`. Currently the field is unused, but will be integrated in the upcoming commits. Co-authored-by: Jeff King Signed-off-by: Jeff King Signed-off-by: Karthik Nayak Signed-off-by: Junio C Hamano --- diff --git a/builtin/fetch.c b/builtin/fetch.c index 288d3772ea..d427adea61 100644 --- a/builtin/fetch.c +++ b/builtin/fetch.c @@ -1649,6 +1649,7 @@ static void ref_transaction_rejection_handler(const char *refname, const char *old_target UNUSED, const char *new_target UNUSED, enum ref_transaction_error err, + const char *details UNUSED, void *cb_data) { struct ref_rejection_data *data = cb_data; diff --git a/builtin/receive-pack.c b/builtin/receive-pack.c index ef1f77be8c..94d3e73cee 100644 --- a/builtin/receive-pack.c +++ b/builtin/receive-pack.c @@ -1813,6 +1813,7 @@ static void ref_transaction_rejection_handler(const char *refname, const char *old_target UNUSED, const char *new_target UNUSED, enum ref_transaction_error err, + const char *details UNUSED, void *cb_data) { struct strmap *failed_refs = cb_data; diff --git a/builtin/update-ref.c b/builtin/update-ref.c index 195437e7c6..0046a87c57 100644 --- a/builtin/update-ref.c +++ b/builtin/update-ref.c @@ -573,6 +573,7 @@ static void print_rejected_refs(const char *refname, const char *old_target, const char *new_target, enum ref_transaction_error err, + const char *details UNUSED, void *cb_data UNUSED) { struct strbuf sb = STRBUF_INIT; diff --git a/refs.c b/refs.c index 3459d0e4e5..e754159c21 100644 --- a/refs.c +++ b/refs.c @@ -2872,7 +2872,7 @@ void ref_transaction_for_each_rejected_update(struct ref_transaction *transactio (update->flags & REF_HAVE_OLD) ? &update->old_oid : NULL, (update->flags & REF_HAVE_NEW) ? &update->new_oid : NULL, update->old_target, update->new_target, - update->rejection_err, cb_data); + update->rejection_err, update->rejection_details, cb_data); } } diff --git a/refs.h b/refs.h index d9051bbb04..4fbe3da924 100644 --- a/refs.h +++ b/refs.h @@ -975,6 +975,7 @@ typedef void ref_transaction_for_each_rejected_update_fn(const char *refname, const char *old_target, const char *new_target, enum ref_transaction_error err, + const char *details, void *cb_data); void ref_transaction_for_each_rejected_update(struct ref_transaction *transaction, ref_transaction_for_each_rejected_update_fn cb,