From: "Johannes Schindelin via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: Junio C Hamano <gitster@pobox.com>,
Johannes Schindelin <johannes.schindelin@gmx.de>
Subject: [PATCH 2/7] help -a: do not list commands that are excluded from the build
Date: Fri, 12 Apr 2019 05:00:32 -0700 (PDT) [thread overview]
Message-ID: <7dc5293e9e0f8997674b1273393f22954e72c4cd.1555070430.git.gitgitgadget@gmail.com> (raw)
In-Reply-To: <pull.168.git.gitgitgadget@gmail.com>
From: Johannes Schindelin <johannes.schindelin@gmx.de>
When built with NO_CURL or with NO_UNIX_SOCKETS, some commands are
skipped from the build. It does not make sense to list them in the
output of `git help -a`, so let's just not.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
---
Makefile | 14 ++++++++++++--
generate-cmdlist.sh | 10 +++++++++-
2 files changed, 21 insertions(+), 3 deletions(-)
diff --git a/Makefile b/Makefile
index 26f8ed2228..8f3c477ab3 100644
--- a/Makefile
+++ b/Makefile
@@ -611,6 +611,7 @@ FUZZ_PROGRAMS =
LIB_OBJS =
PROGRAM_OBJS =
PROGRAMS =
+EXCLUDED_PROGRAMS =
SCRIPT_PERL =
SCRIPT_PYTHON =
SCRIPT_SH =
@@ -1323,6 +1324,7 @@ ifdef NO_CURL
REMOTE_CURL_PRIMARY =
REMOTE_CURL_ALIASES =
REMOTE_CURL_NAMES =
+ EXCLUDED_PROGRAMS += git-http-fetch git-http-push
else
ifdef CURLDIR
# Try "-Wl,-rpath=$(CURLDIR)/$(lib)" in such a case.
@@ -1347,7 +1349,11 @@ endif
ifeq "$(curl_check)" "070908"
ifndef NO_EXPAT
PROGRAM_OBJS += http-push.o
+ else
+ EXCLUDED_PROGRAMS += git-http-push
endif
+ else
+ EXCLUDED_PROGRAMS += git-http-push
endif
curl_check := $(shell (echo 072200; $(CURL_CONFIG) --vernum | sed -e '/^70[BC]/s/^/0/') 2>/dev/null | sort -r | sed -ne 2p)
ifeq "$(curl_check)" "072200"
@@ -1593,7 +1599,9 @@ ifdef NO_INET_PTON
LIB_OBJS += compat/inet_pton.o
BASIC_CFLAGS += -DNO_INET_PTON
endif
-ifndef NO_UNIX_SOCKETS
+ifdef NO_UNIX_SOCKETS
+ EXCLUDED_PROGRAMS += git-credential-cache git-credential-cache--daemon
+else
LIB_OBJS += unix-socket.o
PROGRAM_OBJS += credential-cache.o
PROGRAM_OBJS += credential-cache--daemon.o
@@ -2112,7 +2120,9 @@ $(BUILT_INS): git$X
command-list.h: generate-cmdlist.sh command-list.txt
command-list.h: $(wildcard Documentation/git*.txt) Documentation/*config.txt Documentation/config/*.txt
- $(QUIET_GEN)$(SHELL_PATH) ./generate-cmdlist.sh command-list.txt >$@+ && mv $@+ $@
+ $(QUIET_GEN)$(SHELL_PATH) ./generate-cmdlist.sh \
+ $(patsubst %,--exclude-program %,$(EXCLUDED_PROGRAMS)) \
+ command-list.txt >$@+ && mv $@+ $@
SCRIPT_DEFINES = $(SHELL_PATH_SQ):$(DIFF_SQ):$(GIT_VERSION):\
$(localedir_SQ):$(NO_CURL):$(USE_GETTEXT_SCHEME):$(SANE_TOOL_PATH_SQ):\
diff --git a/generate-cmdlist.sh b/generate-cmdlist.sh
index 709d67405b..7867b99d19 100755
--- a/generate-cmdlist.sh
+++ b/generate-cmdlist.sh
@@ -6,7 +6,7 @@ die () {
}
command_list () {
- grep -v '^#' "$1"
+ eval grep -ve '^#' $exclude_programs "$1"
}
get_categories () {
@@ -93,6 +93,14 @@ EOF
EOF
}
+exclude_programs=
+while test "a$1" = "a--exclude-program"
+do
+ shift
+ exclude_programs="$exclude_programs -e \"^$1 \""
+ shift
+done
+
echo "/* Automatically generated by generate-cmdlist.sh */
struct cmdname_help {
const char *name;
--
gitgitgadget
next prev parent reply other threads:[~2019-04-12 12:00 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-04-12 12:00 [PATCH 0/7] Assorted Documentation-related fixes Johannes Schindelin via GitGitGadget
2019-04-12 12:00 ` [PATCH 1/7] remote-testgit: move it into the support directory for t5801 Johannes Schindelin via GitGitGadget
2019-04-15 7:08 ` Junio C Hamano
2019-04-18 11:46 ` Johannes Schindelin
2019-04-12 12:00 ` Johannes Schindelin via GitGitGadget [this message]
2019-04-15 7:08 ` [PATCH 2/7] help -a: do not list commands that are excluded from the build Junio C Hamano
2019-04-18 12:06 ` Johannes Schindelin
2019-04-12 12:00 ` [PATCH 3/7] check-docs: do not pretend that commands are listed which are excluded Johannes Schindelin via GitGitGadget
2019-04-15 7:18 ` Junio C Hamano
2019-04-18 12:41 ` Johannes Schindelin
2019-04-12 12:00 ` [PATCH 4/7] docs: exclude documentation for commands that have been excluded Johannes Schindelin via GitGitGadget
2019-04-12 18:46 ` Eric Sunshine
2019-04-15 3:09 ` Junio C Hamano
2019-04-15 4:16 ` Eric Sunshine
2019-04-15 4:18 ` Eric Sunshine
2019-04-18 13:08 ` Johannes Schindelin
2019-04-15 14:50 ` Jeff King
2019-04-16 4:12 ` Junio C Hamano
2019-04-18 13:06 ` Johannes Schindelin
2019-04-18 16:01 ` Jeff King
2019-04-12 12:00 ` [PATCH 5/7] check-docs: do not bother checking for legacy scripts' documentation Johannes Schindelin via GitGitGadget
2019-04-15 7:19 ` Junio C Hamano
2019-04-12 12:00 ` [PATCH 6/7] test-tool: handle the `-C <directory>` option just like `git` Johannes Schindelin via GitGitGadget
2019-04-12 12:00 ` [PATCH 7/7] Turn `git serve` into a test helper Johannes Schindelin via GitGitGadget
2019-04-15 14:03 ` Junio C Hamano
2019-04-17 3:46 ` Jeff King
2019-04-17 5:40 ` Junio C Hamano
2019-04-17 18:22 ` Josh Steadmon
2019-04-18 1:58 ` Junio C Hamano
2019-04-18 12:17 ` Johannes Schindelin
2019-04-18 13:16 ` [PATCH v2 0/8] Assorted Documentation-related fixes Johannes Schindelin via GitGitGadget
2019-04-18 13:16 ` [PATCH v2 1/8] remote-testgit: move it into the support directory for t5801 Johannes Schindelin via GitGitGadget
2019-04-18 13:16 ` [PATCH v2 2/8] Makefile: drop the NO_INSTALL variable Johannes Schindelin via GitGitGadget
2019-04-18 13:16 ` [PATCH v2 3/8] help -a: do not list commands that are excluded from the build Johannes Schindelin via GitGitGadget
2019-04-18 13:16 ` [PATCH v2 4/8] check-docs: allow command-list.txt to contain excluded commands Johannes Schindelin via GitGitGadget
2019-04-18 13:16 ` [PATCH v2 5/8] docs: exclude documentation for commands that have been excluded Johannes Schindelin via GitGitGadget
2019-04-19 5:20 ` Junio C Hamano
2019-04-29 12:28 ` Johannes Schindelin
2019-04-18 13:16 ` [PATCH v2 6/8] check-docs: do not bother checking for legacy scripts' documentation Johannes Schindelin via GitGitGadget
2019-04-18 13:16 ` [PATCH v2 7/8] test-tool: handle the `-C <directory>` option just like `git` Johannes Schindelin via GitGitGadget
2019-04-18 13:16 ` [PATCH v2 8/8] Turn `git serve` into a test helper Johannes Schindelin via GitGitGadget
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7dc5293e9e0f8997674b1273393f22954e72c4cd.1555070430.git.gitgitgadget@gmail.com \
--to=gitgitgadget@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=johannes.schindelin@gmx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.