Re: [PATCH v1 2/3] config: introduce repo_config_set* functions
- From
Glen Choo <chooglen@google.com>
- Date
- Nov 15, 2021, 22:17 UTC
- Message-ID
- <kl6lczn1jc6j.fsf@chooglen-macbookpro.roam.corp.google.com>
- In-Reply-To
- <kl6lv90ytd4v.fsf@chooglen-macbookpro.roam.corp.google.com>
Glen Choo <chooglen@google.com> writes:
Show 20 quoted lines
>> - A change like this should make existing config_set() that only
>> works on the_repository into a thin wrapper, e.g.
>>
>> void git_config_set(const char *keyu, const char **value)
>> {
>> repo_config_set(the_repository, key, value);
>> }
>>
>> But that is not happening here. What prevents us from doing so?
>
> I think it is _possible_, as long as we plumb struct repository through
> the call chain all the way to git_config_set_multivar_in_file_gently().
>
> [...]
>
> I will attempt this plumbing, which will allow us to make
> git_config_set() a thin wrapper. However, if this turns out to be too
> difficult, I will implement branch --recurse-submodules with child
> processes and leave this for a future clean up (as hinted at in the
> cover letter).I believe that this plumbing is already doable but it would take an extensive overhaul of config.c as well as some cleanup of path.c.
This is more work than I am willing to take on right now, but I'll revisit this at some point.