Re: [PATCH 01/15] string_list: add string_list_duplicate
- From
Stefan Beller <sbeller@google.com>
- Date
- Apr 27, 2016, 23:24 UTC
- Message-ID
- <CAGZ79kYRhk8bH7+rGRjfvwk=HHy8=Yfg_P54pp8Goeb-bO1wSw@mail.gmail.com>
- In-Reply-To
- <xmqqbn4u7ibp.fsf@gitster.mtv.corp.google.com>
On Wed, Apr 27, 2016 at 4:17 PM, Junio C Hamano <gitster@pobox.com> wrote:
Show 11 quoted lines
> Stefan Beller <sbeller@google.com> 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