Junio C Hamano, Fri, Sep 18, 2020 00:31:58 +0200: > Alex Riesen <alexander.riesen@xxxxxxxxxxx> 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.