From 6661cde2bef0cdb1649be1f1b5f95af7c08a6059 Mon Sep 17 00:00:00 2001 From: Xinyu Ruan Date: Fri, 24 Oct 2025 08:38:14 +0000 Subject: [PATCH] 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 Acked-by: Patrick Steinhardt Signed-off-by: Junio C Hamano --- refs/debug.c | 9 +++++++++ 1 file changed, 9 insertions(+) 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 -- 2.47.3