]> git.ipfire.org Git - thirdparty/git.git/commitdiff
refs: add rejection detail to the callback function
authorKarthik Nayak <karthik.188@gmail.com>
Fri, 16 Jan 2026 21:27:08 +0000 (22:27 +0100)
committerJunio C Hamano <gitster@pobox.com>
Fri, 16 Jan 2026 22:06:44 +0000 (14:06 -0800)
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 <peff@peff.net>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Karthik Nayak <karthik.188@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/fetch.c
builtin/receive-pack.c
builtin/update-ref.c
refs.c
refs.h

index 288d3772eaeabe9020e7af2f3e1a2efea023b378..d427adea614eedbf0f99cb89509f0e0d23d1ef27 100644 (file)
@@ -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;
index ef1f77be8c9db68b92ea504f0831d4451fff3f5b..94d3e73cee3ec20f4633d0858e95a1444bef58df 100644 (file)
@@ -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;
index 195437e7c656ff526a3309f1768871b9dce9fc05..0046a87c579122bdb35351b7f6ac5eb2e642e585 100644 (file)
@@ -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 3459d0e4e5edf23b7fdad0c8fb7b5e30ae111d91..e754159c21f265b20f3249caab232a6030d12015 100644 (file)
--- 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 d9051bbb0414c2f70c61b898f1ef1b500b7cb390..4fbe3da9245755157674727e204b08775c75415b 100644 (file)
--- 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,