Hi,
On Tue, 7 Dec 2021, Junio C Hamano wrote:
Josh Steadmon [off-list ref] writes:
quoted
I've addressed feedback from V4. Since 2/3 reviewers seemed to (at least
slightly) prefer handling multiple upstream branches in the existing
tracking setup, I've gone that direction rather than repurposing the
branch copy code. None of the other issues were controversial.
In this version, I'd appreciate feedback mainly on patch 1:
* Is the combination of `git_config_set_gently()` +
`git_config_set_multivar_gently() the best way to write multiple
config entries for the same key?
IIRC git_config_set_*() is Dscho's brainchild. If he is available
to comment, it may be a valuable input.
The `git_config_set_multivar_gently()` function was really only intended
to add one key/value pair.
Currently, there is no function to add multiple key/value pairs, and while
it is slightly wasteful to lock the config multiple times to write a bunch
of key/value pairs, it is not the worst in the world for a small use case
like this one.
So yes, for the moment I would go with the suggested design.
One thing you might want to do is to avoid the extra
`git_config_set_gently()` before the `for` loop, simply by passing `i == 0
? 0 : CONFIG_FLAGS_MULTI_REPLACE` as `flags` parameter to the multivar
version of the function.
But that would optimize for code size rather than for readability, and I
would actually prefer the more verbose version.
Ciao,
Dscho