Merge branch 'xx/remote-server-option-config'
A new configuration variable remote.<name>.serverOption makes the
transport layer act as if the --serverOption=<value> option is
given from the command line.
* xx/remote-server-option-config:
ls-remote: leakfix for not clearing server_options
fetch: respect --server-option when fetching multiple remotes
transport.c:🤝 make use of server options from remote
remote: introduce remote.<name>.serverOption configuration
transport: introduce parse_transport_option() method
This commit is contained in:
@ -1981,6 +1981,8 @@ static int fetch_multiple(struct string_list *list, int max_children,
|
||||
strvec_pushl(&argv, "-c", "fetch.bundleURI=",
|
||||
"fetch", "--append", "--no-auto-gc",
|
||||
"--no-write-commit-graph", NULL);
|
||||
for (i = 0; i < server_options.nr; i++)
|
||||
strvec_pushf(&argv, "--server-option=%s", server_options.items[i].string);
|
||||
add_options_to_argv(&argv, config);
|
||||
|
||||
if (max_children != 1 && list->nr != 1) {
|
||||
|
@ -173,5 +173,6 @@ int cmd_ls_remote(int argc,
|
||||
transport_ls_refs_options_release(&transport_options);
|
||||
|
||||
strvec_clear(&pattern);
|
||||
string_list_clear(&server_options, 0);
|
||||
return status;
|
||||
}
|
||||
|
@ -519,14 +519,7 @@ static int git_push_config(const char *k, const char *v,
|
||||
RECURSE_SUBMODULES_ON_DEMAND : RECURSE_SUBMODULES_OFF;
|
||||
recurse_submodules = val;
|
||||
} else if (!strcmp(k, "push.pushoption")) {
|
||||
if (!v)
|
||||
return config_error_nonbool(k);
|
||||
else
|
||||
if (!*v)
|
||||
string_list_clear(&push_options_config, 0);
|
||||
else
|
||||
string_list_append(&push_options_config, v);
|
||||
return 0;
|
||||
return parse_transport_option(k, v, &push_options_config);
|
||||
} else if (!strcmp(k, "color.push")) {
|
||||
push_use_color = git_config_colorbool(k, v);
|
||||
return 0;
|
||||
|
Reference in New Issue
Block a user