Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> writes: > Change the implementation of b5dd96b70ac (make credential helpers > builtins, 2020-08-13) to declare in the "struct cmd_struct" that > NO_UNIX_SOCKETS can't be set. It may happen to be that two credential-cache program are both related to the same CPP macro NO_UNIX_SOCKETS, but I think the pattern you are tackling with this topic is that a fallback definition of a function that is designed to always die when invoked misuses the parse-options API. I do not want to see you invent a new bit in cmd_struct for each and every conditional that lets us define such a die-only fallback implementation. I may be missing something obvious, but can't the following suffice, and if not, why? Thanks. builtin/credential-cache--daemon.c | 9 --------- builtin/credential-cache.c | 9 --------- 2 files changed, 18 deletions(-) diff --git i/builtin/credential-cache--daemon.c w/builtin/credential-cache--daemon.c index 4c6c89ab0d..f11a89a89b 100644 --- i/builtin/credential-cache--daemon.c +++ w/builtin/credential-cache--daemon.c @@ -304,15 +304,6 @@ int cmd_credential_cache_daemon(int argc, const char **argv, const char *prefix) int cmd_credential_cache_daemon(int argc, const char **argv, const char *prefix) { - const char * const usage[] = { - "git credential-cache--daemon [options] <action>", - "", - "credential-cache--daemon is disabled in this build of Git", - NULL - }; - struct option options[] = { OPT_END() }; - - argc = parse_options(argc, argv, prefix, options, usage, 0); die(_("credential-cache--daemon unavailable; no unix socket support")); } diff --git i/builtin/credential-cache.c w/builtin/credential-cache.c index e8a7415747..dd794f84ce 100644 --- i/builtin/credential-cache.c +++ w/builtin/credential-cache.c @@ -142,15 +142,6 @@ int cmd_credential_cache(int argc, const char **argv, const char *prefix) int cmd_credential_cache(int argc, const char **argv, const char *prefix) { - const char * const usage[] = { - "git credential-cache [options] <action>", - "", - "credential-cache is disabled in this build of Git", - NULL - }; - struct option options[] = { OPT_END() }; - - argc = parse_options(argc, argv, prefix, options, usage, 0); die(_("credential-cache unavailable; no unix socket support")); }