> @@ -1402,17 +1435,17 @@ struct ref_store *ref_store_init(const char *submodule) > > struct ref_store *lookup_ref_store(const char *submodule) > { > + if (!submodule_ref_stores.tablesize) > + hashmap_init(&submodule_ref_stores, submodule_hash_cmp, 20); So we can lookup a submodule even before we initialized the subsystem? Does that actually happen? (It sounds like a bug to me.) Instead of initializing, you could return NULL directly here. Otherwise looks good. Thanks, Stefan