Re: [PATCH] config: option transfer.ipversion to set transport protocol version for network fetches
- From
Alex Riesen <alexander.riesen@cetitec.com>
- Date
- Sep 18, 2020, 07:16 UTC
- Message-ID
- <20200918071647.GA17896@pflmari>
- In-Reply-To
- <xmqqbli4ox0h.fsf@gitster.c.googlers.com>
Junio C Hamano, Fri, Sep 18, 2020 00:31:58 +0200:
Show 14 quoted lines
> Alex Riesen <alexander.riesen@cetitec.com> writes: > > > If the configuration variable is allowed to be set to that "lack of > > preference" value, we kind of have a command line option for it: > > > > git -c transfer.protocolFamily=any fetch ... > > Yes. > > But we typically do not count that as being able to override from > the command line. If "git fetch --ipv4" will defeat the configured > "transfer.protoclFamily=ipv6", the users will expect there is some > way to do the same and say they accept any protocol family to be > used.
Makes sense. I even wondered myself why there is no way to override an --ipv4/--ipv6 in command-line back to "any" with an option added after it:
$ cat my-fetch
#!/bin/sh
git fetch --ipv4 "$@"$ ./my-fetch --ipv46
But how about making the command-line and config option a list? (renaming it to ipversion, as elsewhere in the discussion)
git fetch --ipversions=ipv6,ipv8
Given multiple times, the last option wins, as usual:
$ cat my-fetch
#!/bin/sh
git fetch --ipversions=ipv4 "$@"$ ./my-fetch --ipversions=all
BTW, transport.c already converts transport->family to bit-flags in connect_setup.