Now we have introduced OPT_IPVERSION(), tweak its implementation so that "git clone", "git fetch", and "git push" reject the negated form of "Use only IP version N" options. Signed-off-by: Junio C Hamano <gitster@xxxxxxxxx> --- parse-options.h | 8 ++++---- t/t5516-fetch-push.sh | 11 +++++++++++ 2 files changed, 15 insertions(+), 4 deletions(-) diff --git c/parse-options.h w/parse-options.h index e35710733d..57a7fe9d91 100644 --- c/parse-options.h +++ w/parse-options.h @@ -582,9 +582,9 @@ int parse_opt_tracking_mode(const struct option *, const char *, int); #define OPT_AUTOSTASH(v) OPT_BOOL(0, "autostash", v, N_("automatically stash/stash pop before and after")) #define OPT_IPVERSION(v) \ - OPT_SET_INT('4', "ipv4", (v), N_("use IPv4 addresses only"), \ - TRANSPORT_FAMILY_IPV4), \ - OPT_SET_INT('6', "ipv6", (v), N_("use IPv6 addresses only"), \ - TRANSPORT_FAMILY_IPV6) + OPT_SET_INT_F('4', "ipv4", (v), N_("use IPv4 addresses only"), \ + TRANSPORT_FAMILY_IPV4, PARSE_OPT_NONEG), \ + OPT_SET_INT_F('6', "ipv6", (v), N_("use IPv6 addresses only"), \ + TRANSPORT_FAMILY_IPV6, PARSE_OPT_NONEG) #endif diff --git c/t/t5516-fetch-push.sh w/t/t5516-fetch-push.sh index 19ebefa5ac..87163d7745 100755 --- c/t/t5516-fetch-push.sh +++ w/t/t5516-fetch-push.sh @@ -120,6 +120,17 @@ test_expect_success setup ' ' +for cmd in push fetch +do + for opt in ipv4 ipv6 + do + test_expect_success "reject 'git $cmd --no-$opt'" ' + test_must_fail git $cmd --no-$opt 2>err && + grep "unknown option .no-$opt" err + ' + done +done + test_expect_success 'fetch without wildcard' ' mk_empty testrepo && (