From 0fcc285c5eaab904ea9a8ade2696fe61355cf587 Mon Sep 17 00:00:00 2001 From: Patrick Steinhardt Date: Fri, 29 Dec 2023 08:26:34 +0100 Subject: refs: refactor logic to look up storage backends In order to look up ref storage backends, we're currently using a linked list of backends, where each backend is expected to set up its `next` pointer to the next ref storage backend. This is kind of a weird setup as backends need to be aware of other backends without much of a reason. Refactor the code so that the array of backends is centrally defined in "refs.c", where each backend is now identified by an integer constant. Expose functions to translate from those integer constants to the name and vice versa, which will be required by subsequent patches. Signed-off-by: Patrick Steinhardt Signed-off-by: Junio C Hamano --- refs.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'refs.h') diff --git a/refs.h b/refs.h index 23211a5ea1..916b874ae3 100644 --- a/refs.h +++ b/refs.h @@ -11,6 +11,9 @@ struct string_list; struct string_list_item; struct worktree; +unsigned int ref_storage_format_by_name(const char *name); +const char *ref_storage_format_to_name(unsigned int ref_storage_format); + /* * Resolve a reference, recursively following symbolic refererences. * -- cgit v1.2.3