]> git.ipfire.org Git - thirdparty/git.git/commitdiff
fetch: reject --no-ipv[46]
authorJunio C Hamano <gitster@pobox.com>
Tue, 18 Jul 2023 21:45:59 +0000 (14:45 -0700)
committerJunio C Hamano <gitster@pobox.com>
Tue, 18 Jul 2023 21:47:30 +0000 (14:47 -0700)
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@pobox.com>
parse-options.h
t/t5516-fetch-push.sh

index e35710733d105be1954103b5fde1d3596c73ebba..57a7fe9d91a1690e59e05838897a8d474aca5de1 100644 (file)
@@ -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
index 19ebefa5aceb1afd3916f903971013e985836329..87163d77456e5c2738c48dcdde282e2ea7b65a4d 100755 (executable)
@@ -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 &&
        (