aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXinyu Ruan <r200981113@gmail.com>2025-10-24 08:38:14 +0000
committerJunio C Hamano <gitster@pobox.com>2025-10-27 08:57:47 -0700
commit6661cde2bef0cdb1649be1f1b5f95af7c08a6059 (patch)
tree5ed7ffff45191392472901abc52ded312edf20ce
parentSync with Git 2.51.2 (diff)
downloadgit-6661cde2bef0cdb1649be1f1b5f95af7c08a6059.tar.gz
git-6661cde2bef0cdb1649be1f1b5f95af7c08a6059.zip
refs: add missing remove_on_disk implementation for debug backend
The debug ref backend (refs_be_debug) was missing the remove_on_disk function pointer, which caused a segmentation fault when running 'GIT_TRACE_REFS=1 git refs migrate --ref-format=reftable' commands. Signed-off-by: Xinyu Ruan <r200981113@gmail.com> Acked-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--refs/debug.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/refs/debug.c b/refs/debug.c
index 697adbd0dc..c59c1728a3 100644
--- a/refs/debug.c
+++ b/refs/debug.c
@@ -47,6 +47,14 @@ static int debug_create_on_disk(struct ref_store *refs, int flags, struct strbuf
return res;
}
+static int debug_remove_on_disk(struct ref_store *refs, struct strbuf *err)
+{
+ struct debug_ref_store *drefs = (struct debug_ref_store *)refs;
+ int res = drefs->refs->be->remove_on_disk(drefs->refs, err);
+ trace_printf_key(&trace_refs, "remove_on_disk: %d\n", res);
+ return res;
+}
+
static int debug_transaction_prepare(struct ref_store *refs,
struct ref_transaction *transaction,
struct strbuf *err)
@@ -432,6 +440,7 @@ struct ref_storage_be refs_be_debug = {
.init = NULL,
.release = debug_release,
.create_on_disk = debug_create_on_disk,
+ .remove_on_disk = debug_remove_on_disk,
/*
* None of these should be NULL. If the "files" backend (in