Re: [PATCH v2 9/9] read_loose_refs(): read refs using resolve_ref_recursively()
- From
Michael Haggerty <mhagger@alum.mit.edu>
- Date
- Feb 13, 2017, 06:40 UTC
- Message-ID
- <ff0b0df6-9aed-9417-d9d4-1234d53f05c3@alum.mit.edu>
- In-Reply-To
- <xmqqbmu9lul6.fsf@gitster.mtv.corp.google.com>
On 02/10/2017 08:22 PM, Junio C Hamano wrote:
Show 62 quoted lines
> Michael Haggerty <mhagger@alum.mit.edu> 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