From: Alex Riesen Date: Fri, 18 Sep 2020 07:16:47 GMT Subject: Re: [PATCH] config: option transfer.ipversion to set transport protocol version for network fetches Message-ID: <20200918071647.GA17896@pflmari> In-Reply-To: Junio C Hamano, Fri, Sep 18, 2020 00:31:58 +0200: > Alex Riesen 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.