Re: [PATCH v2 2/6] git.c: add a NEED_UNIX_SOCKETS option for built-ins
From: Junio C Hamano <hidden>
Date: 2021-09-11 00:15:05
Ævar Arnfjörð Bjarmason [off-list ref] 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")); }