On Wed, Apr 27, 2016 at 4:17 PM, Junio C Hamano <gitster@xxxxxxxxx> wrote: > Stefan Beller <sbeller@xxxxxxxxxx> writes: > >> Another way to corrupt it is to change the configuration (e.g. add >> things to the config hashmap such that it reallocates and grows). > > You're right. But doesn't it hint that there is a deeper problem? > > By making a copy and keeping it, you would hold onto a stale value > and would not see the result of updates you yourself make to the > system. > In this case the value doesn't go stale. We do not change "submodule.defaultGroup", but only new submodule.$NAME.url and such. The memory for accessing it goes stale, so in this case it is okay. I don't think we want to see repeated calls to git_config_get_value_multi like : if (!pathspec.nr && git_config_get_value_multi( "submodule.defaultGroup")) { gitmodules_config(); for (i = 0; i < list.nr; i++) { const struct submodule *sub = submodule_from_path(null_sha1, list.entries[i]->name); group = git_config_get_value_multi("submodule.defaultGroup") if (submodule_in_group(group, sub)) init_submodule(list.entries[i]->name, prefix, quiet); } } Maybe I am overestimating the cost of git_config_get_value_multi, so it is no problem? Thanks, Stefan -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html