]> Kevux Git Server - rit/commitdiff
refs: add rejection detail to the callback function
authorKarthik Nayak <karthik.188@gmail.com>
Sun, 25 Jan 2026 22:52:37 +0000 (23:52 +0100)
committerJunio C Hamano <gitster@pobox.com>
Mon, 26 Jan 2026 06:27:33 +0000 (22:27 -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 288d377..d427ade 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 ef1f77b..94d3e73 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 195437e..0046a87 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 53919c3..c85c3d2 100644 (file)
--- a/refs.c
+++ b/refs.c
@@ -2874,7 +2874,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 d9051bb..4fbe3da 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,