>> +static enum {
>> + SUBMODULE_CONFIG_NOT_READ = 0,
>> + SUBMODULE_CONFIG_NO_CONFIG,
>> + SUBMODULE_CONFIG_EXISTS,
>> +} submodule_config_reading;
>
> Any way we can have this not be a global, but rather a parameter? You
> could pass in a pointer to this value via the callback data parameter in
> the submodule_config function.
As said in the reply to Junio, this patch has been sitting on my hard drive
for a while and was written before you started the attempt to de-globalize
the state of git.
Ideally this setting would be part of the repository object. For example
the repository object would have a "submodule_config" pointer, initialized
to NULL, which can then be set to the read config or a static empty_config
if no such config exists.