diff mbox series

fetch: reject --no-ipv[46]

Message ID xmqqedl4gag8.fsf@gitster.g (mailing list archive)
State Accepted
Commit a2dad4868bf0681f63fe10264c171b5a547324a5
Headers show
Series fetch: reject --no-ipv[46] | expand

Commit Message

Junio C Hamano July 18, 2023, 9:45 p.m. UTC
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       |  8 ++++----
 t/t5516-fetch-push.sh | 11 +++++++++++
 2 files changed, 15 insertions(+), 4 deletions(-)

Comments

Taylor Blau July 18, 2023, 9:59 p.m. UTC | #1
On Tue, Jul 18, 2023 at 02:45:59PM -0700, Junio C Hamano wrote:
>  parse-options.h       |  8 ++++----
>  t/t5516-fetch-push.sh | 11 +++++++++++
>  2 files changed, 15 insertions(+), 4 deletions(-)

The first patch is an obvious improvement, and the same is true of the
second one. Both of these look good to me.

Thanks,
Taylor
diff mbox series

Patch

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 &&
 	(