Alex Riesen <alexander.riesen@xxxxxxxxxxx> writes: > git fetch --ipversions=ipv6,ipv8 > > Given multiple times, the last option wins, as usual: Just a clarification on "the last option wins". You do not mean "I said v6 earlier but no, I want v8", with the above. What you mean is that > > $ cat my-fetch > #!/bin/sh > git fetch --ipversions=ipv4 "$@" > > $ ./my-fetch --ipversions=all the argument given to 'my-fetch' overrides what is hardcoded in 'my-fetch', i.e. "I said v4, but I take it back; I want to accept any". I find the above sensible. > BTW, transport.c already converts transport->family to bit-flags in > connect_setup. Yes, that is why I suggested the "list of acceptable choices" approach as a direction to go in the future, primarily to limit the scope of this current work. I do not mind it if you want to bite the whole piece right now, though. By the way, I have a mild preference to call the option after the phrase "protocol-family", without "IP", so that we won't be limited to Internet protocols. IOW, --ipversions is a bad name for the new commnad line option in my mind. As I said elsewhere, I also think TRANSPORT_FAMILY_ALL is a misnomer. When it is specified, we don't use all the available ones at the same time. What it says is that we accept use of any protocol families that are supported. It is OK to use ALL in the CPP macro as it is merely an internal implementation detail, but if we are going to expose it to end users as one of the choices, I'd prefer to use 'any', and not 'all', as the value for the new command line option. Thanks.