mirror of
https://github.com/git/git
synced 2024-10-02 14:45:21 +00:00
Merge branch 'jc/transport-parseopt-fix'
Command line parser fixes. * jc/transport-parseopt-fix: fetch: reject --no-ipv[46] parse-options: introduce OPT_IPVERSION()
This commit is contained in:
commit
9562f19026
|
@ -161,10 +161,7 @@ static struct option builtin_clone_options[] = {
|
|||
N_("set config inside the new repository")),
|
||||
OPT_STRING_LIST(0, "server-option", &server_options,
|
||||
N_("server-specific"), N_("option to transmit")),
|
||||
OPT_SET_INT('4', "ipv4", &family, N_("use IPv4 addresses only"),
|
||||
TRANSPORT_FAMILY_IPV4),
|
||||
OPT_SET_INT('6', "ipv6", &family, N_("use IPv6 addresses only"),
|
||||
TRANSPORT_FAMILY_IPV6),
|
||||
OPT_IPVERSION(&family),
|
||||
OPT_PARSE_LIST_OBJECTS_FILTER(&filter_options),
|
||||
OPT_BOOL(0, "also-filter-submodules", &option_filter_submodules,
|
||||
N_("apply partial clone filters to submodules")),
|
||||
|
|
|
@ -2207,10 +2207,7 @@ int cmd_fetch(int argc, const char **argv, const char *prefix)
|
|||
OPT_CALLBACK_F(0, "refmap", NULL, N_("refmap"),
|
||||
N_("specify fetch refmap"), PARSE_OPT_NONEG, parse_refmap_arg),
|
||||
OPT_STRING_LIST('o', "server-option", &server_options, N_("server-specific"), N_("option to transmit")),
|
||||
OPT_SET_INT('4', "ipv4", &family, N_("use IPv4 addresses only"),
|
||||
TRANSPORT_FAMILY_IPV4),
|
||||
OPT_SET_INT('6', "ipv6", &family, N_("use IPv6 addresses only"),
|
||||
TRANSPORT_FAMILY_IPV6),
|
||||
OPT_IPVERSION(&family),
|
||||
OPT_STRING_LIST(0, "negotiation-tip", &negotiation_tip, N_("revision"),
|
||||
N_("report that we have only objects reachable from this object")),
|
||||
OPT_BOOL(0, "negotiate-only", &negotiate_only,
|
||||
|
|
|
@ -627,10 +627,7 @@ int cmd_push(int argc, const char **argv, const char *prefix)
|
|||
PARSE_OPT_OPTARG, option_parse_push_signed),
|
||||
OPT_BIT(0, "atomic", &flags, N_("request atomic transaction on remote side"), TRANSPORT_PUSH_ATOMIC),
|
||||
OPT_STRING_LIST('o', "push-option", &push_options_cmdline, N_("server-specific"), N_("option to transmit")),
|
||||
OPT_SET_INT('4', "ipv4", &family, N_("use IPv4 addresses only"),
|
||||
TRANSPORT_FAMILY_IPV4),
|
||||
OPT_SET_INT('6', "ipv6", &family, N_("use IPv6 addresses only"),
|
||||
TRANSPORT_FAMILY_IPV6),
|
||||
OPT_IPVERSION(&family),
|
||||
OPT_END()
|
||||
};
|
||||
|
||||
|
|
|
@ -581,4 +581,10 @@ int parse_opt_tracking_mode(const struct option *, const char *, int);
|
|||
#define OPT_PATHSPEC_FILE_NUL(v) OPT_BOOL(0, "pathspec-file-nul", v, N_("with --pathspec-from-file, pathspec elements are separated with NUL character"))
|
||||
#define OPT_AUTOSTASH(v) OPT_BOOL(0, "autostash", v, N_("automatically stash/stash pop before and after"))
|
||||
|
||||
#define OPT_IPVERSION(v) \
|
||||
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
|
||||
|
|
|
@ -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 &&
|
||||
(
|
||||
|
|
Loading…
Reference in a new issue