From 889f0c9d3be18908241895c33a04afd772df0ec4 Mon Sep 17 00:00:00 2001 From: RuanXinyu Date: Fri, 24 Oct 2025 14:42:09 +0800 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: RuanXinyu --- refs/debug.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/refs/debug.c b/refs/debug.c index da300efaf30973..dd49080836b4fd 100644 --- a/refs/debug.c +++ b/refs/debug.c @@ -48,6 +48,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