On 02/10/2017 08:22 PM, Junio C Hamano wrote: > Michael Haggerty <mhagger@xxxxxxxxxxxx> writes: >> [...] > > OK, but one thing puzzles me... > >> @@ -1390,27 +1390,6 @@ static struct ref_store *main_ref_store; >> static struct hashmap submodule_ref_stores; >> >> /* >> - * Return the ref_store instance for the specified submodule (or the >> - * main repository if submodule is NULL). If that ref_store hasn't >> - * been initialized yet, return NULL. >> - */ >> -static struct ref_store *lookup_ref_store(const char *submodule) >> -{ >> - struct submodule_hash_entry *entry; >> - >> - if (!submodule) >> - return main_ref_store; >> - >> - if (!submodule_ref_stores.tablesize) >> - /* It's initialized on demand in register_ref_store(). */ >> - return NULL; >> - >> - entry = hashmap_get_from_hash(&submodule_ref_stores, >> - strhash(submodule), submodule); >> - return entry ? entry->refs : NULL; >> -} >> - >> -/* >> * Register the specified ref_store to be the one that should be used >> * for submodule (or the main repository if submodule is NULL). It is >> * a fatal error to call this function twice for the same submodule. >> @@ -1451,6 +1430,27 @@ static struct ref_store *ref_store_init(const char *submodule) >> return refs; >> } >> >> +/* >> + * Return the ref_store instance for the specified submodule (or the >> + * main repository if submodule is NULL). If that ref_store hasn't >> + * been initialized yet, return NULL. >> + */ >> +static struct ref_store *lookup_ref_store(const char *submodule) >> +{ >> + struct submodule_hash_entry *entry; >> + >> + if (!submodule) >> + return main_ref_store; >> + >> + if (!submodule_ref_stores.tablesize) >> + /* It's initialized on demand in register_ref_store(). */ >> + return NULL; >> + >> + entry = hashmap_get_from_hash(&submodule_ref_stores, >> + strhash(submodule), submodule); >> + return entry ? entry->refs : NULL; >> +} >> + > > I somehow thought that we had an early "reorder the code" step to > avoid hunks like these? Am I missing some subtle changes made while > moving the function down? You are quite right; thanks for noticing. I forgot to un-move this function when re-rolling. These two hunks can be discarded (the function text is unchanged). I pushed the fixed commit to branch `submodule-hash` in my fork [1]. If you'd like me to send it to the mailing list again, please let me know. Michael [1] https://github.com/mhagger/git