Documentation: extract script to generate a list of mergetools
We include the list of available mergetools into our manpages. Extract
the script that performs this logic such that we can reuse it in other
build systems.
While at it, refactor the Makefile targets such that we don't create
"mergetools-list.made" anymore. It shouldn't be necessary, as we can
instead have other targets depend on "mergetools-{diff,merge}.txt"
directly.
Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
628d49f6e5
commit
023c3370ac
@@ -282,11 +282,13 @@ ifneq ($(filter-out lint-docs clean,$(MAKECMDGOALS)),)
|
||||
-include ../GIT-VERSION-FILE
|
||||
endif
|
||||
|
||||
mergetools_txt = mergetools-diff.txt mergetools-merge.txt
|
||||
|
||||
#
|
||||
# Determine "include::" file references in asciidoc files.
|
||||
#
|
||||
docdep_prereqs = \
|
||||
mergetools-list.made $(mergetools_txt) \
|
||||
$(mergetools_txt) \
|
||||
cmd-list.made $(cmds_txt)
|
||||
|
||||
doc.dep : $(docdep_prereqs) $(DOC_DEP_TXT) build-docdep.perl
|
||||
@@ -315,19 +317,11 @@ cmd-list.made: cmd-list.perl ../command-list.txt $(MAN1_TXT)
|
||||
$(QUIET_GEN)$(PERL_PATH) ./cmd-list.perl .. . $(cmds_txt) && \
|
||||
date >$@
|
||||
|
||||
mergetools_txt = mergetools-diff.txt mergetools-merge.txt
|
||||
|
||||
$(mergetools_txt): mergetools-list.made
|
||||
|
||||
mergetools-list.made: ../git-mergetool--lib.sh $(wildcard ../mergetools/*)
|
||||
$(QUIET_GEN) \
|
||||
$(SHELL_PATH) -c 'MERGE_TOOLS_DIR=../mergetools && TOOL_MODE=diff && \
|
||||
. ../git-mergetool--lib.sh && \
|
||||
show_tool_names can_diff' | sed -e "s/\([a-z0-9]*\)/\`\1\`;;/" >mergetools-diff.txt && \
|
||||
$(SHELL_PATH) -c 'MERGE_TOOLS_DIR=../mergetools && TOOL_MODE=merge && \
|
||||
. ../git-mergetool--lib.sh && \
|
||||
show_tool_names can_merge' | sed -e "s/\([a-z0-9]*\)/\`\1\`;;/" >mergetools-merge.txt && \
|
||||
date >$@
|
||||
mergetools-%.txt: generate-mergetool-list.sh ../git-mergetool--lib.sh $(wildcard ../mergetools/*)
|
||||
mergetools-diff.txt:
|
||||
$(QUIET_GEN)$(SHELL_PATH) ./generate-mergetool-list.sh .. diff $@
|
||||
mergetools-merge.txt:
|
||||
$(QUIET_GEN)$(SHELL_PATH) ./generate-mergetool-list.sh .. merge $@
|
||||
|
||||
TRACK_ASCIIDOCFLAGS = $(subst ','\'',$(ASCIIDOC_COMMON):$(ASCIIDOC_HTML):$(ASCIIDOC_DOCBOOK))
|
||||
|
||||
|
||||
17
Documentation/generate-mergetool-list.sh
Executable file
17
Documentation/generate-mergetool-list.sh
Executable file
@@ -0,0 +1,17 @@
|
||||
#!/bin/sh
|
||||
|
||||
if test "$#" -ne 3
|
||||
then
|
||||
echo >&2 "USAGE: $0 <SOURCE_DIR> <MODE> <OUTPUT>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
SOURCE_DIR="$1"
|
||||
TOOL_MODE="$2"
|
||||
OUTPUT="$3"
|
||||
MERGE_TOOLS_DIR="$SOURCE_DIR/mergetools"
|
||||
|
||||
(
|
||||
. "$SOURCE_DIR"/git-mergetool--lib.sh &&
|
||||
show_tool_names can_$TOOL_MODE
|
||||
) | sed -e "s/\([a-z0-9]*\)/\`\1\`;;/" >"$OUTPUT"
|
||||
Reference in New Issue
Block a user