diff options
Diffstat (limited to 'refs.c')
-rw-r--r-- | refs.c | 64 |
1 files changed, 32 insertions, 32 deletions
@@ -1358,27 +1358,19 @@ static struct ref_store *main_ref_store; /* A linked list of ref_stores for submodules: */ static struct ref_store *submodule_ref_stores; -void base_ref_store_init(struct ref_store *refs, - const struct ref_storage_be *be, - const char *submodule) +struct ref_store *lookup_ref_store(const char *submodule) { - refs->be = be; - if (!submodule) { - if (main_ref_store) - die("BUG: main_ref_store initialized twice"); + struct ref_store *refs; - refs->submodule = ""; - refs->next = NULL; - main_ref_store = refs; - } else { - if (lookup_ref_store(submodule)) - die("BUG: ref_store for submodule '%s' initialized twice", - submodule); + if (!submodule || !*submodule) + return main_ref_store; - refs->submodule = xstrdup(submodule); - refs->next = submodule_ref_stores; - submodule_ref_stores = refs; + for (refs = submodule_ref_stores; refs; refs = refs->next) { + if (!strcmp(submodule, refs->submodule)) + return refs; } + + return NULL; } struct ref_store *ref_store_init(const char *submodule) @@ -1395,21 +1387,6 @@ struct ref_store *ref_store_init(const char *submodule) return be->init(submodule); } -struct ref_store *lookup_ref_store(const char *submodule) -{ - struct ref_store *refs; - - if (!submodule || !*submodule) - return main_ref_store; - - for (refs = submodule_ref_stores; refs; refs = refs->next) { - if (!strcmp(submodule, refs->submodule)) - return refs; - } - - return NULL; -} - struct ref_store *get_ref_store(const char *submodule) { struct ref_store *refs; @@ -1435,6 +1412,29 @@ struct ref_store *get_ref_store(const char *submodule) return refs; } +void base_ref_store_init(struct ref_store *refs, + const struct ref_storage_be *be, + const char *submodule) +{ + refs->be = be; + if (!submodule) { + if (main_ref_store) + die("BUG: main_ref_store initialized twice"); + + refs->submodule = ""; + refs->next = NULL; + main_ref_store = refs; + } else { + if (lookup_ref_store(submodule)) + die("BUG: ref_store for submodule '%s' initialized twice", + submodule); + + refs->submodule = xstrdup(submodule); + refs->next = submodule_ref_stores; + submodule_ref_stores = refs; + } +} + void assert_main_repository(struct ref_store *refs, const char *caller) { if (*refs->submodule) |