sub-fetches discard --ipv4|6 option
- From
Alex Riesen <alexander.riesen@cetitec.com>
- Date
- Sep 14, 2020, 12:19 UTC
- Message-ID
- <20200914121906.GD4705@pflmari>
Hi everyone,
I have a slight problem with IPv6 configuration in my local network (connect works but transfers do not) and would like to temporarily disable use of the transport for a series of fetches. The fetches are all done from within a script to which I can pass options for "git fetch" commands in its command-line. The options will be appended to the fetch commands, i.e.:
git fetch <hard-coded-script-options> --ipv4
Unfortunately, it only worked for the fetches which didn't use --all or --multiple. After a light searching, I failed to find an explanation as to why --all|--multiple are handled so inconsistently with single remote fetches and added the options (similar to --force or --keep) to the argument list for sub-fetches:
diff --git a/builtin/fetch.c b/builtin/fetch.c index 82ac4be8a5..5e06c07106 100644 --- a/builtin/fetch.c +++ b/builtin/fetch.c @@ -1531,6 +1531,10 @@ static void add_options_to_argv(struct argv_array *argv) argv_array_push(argv, "-v"); else if (verbosity < 0) argv_array_push(argv, "-q"); + if (family == TRANSPORT_FAMILY_IPV4) + argv_array_push(argv, "--ipv4"); + else if (family == TRANSPORT_FAMILY_IPV6) + argv_array_push(argv, "--ipv6"); } Am I missing something obvious? Regards, Alex