Merge branch 'rb/quick-install-doc'

The build procedure now allows not just the repositories but also
the refs to be used to take pre-formatted manpages and html
documents to install.

* rb/quick-install-doc:
  install-doc-quick: allow specifying what ref to install
This commit is contained in:
Junio C Hamano 2017-12-27 11:16:30 -08:00
Родитель d22114ac24 65289e9dcd
Коммит dc8fb4dd7e
2 изменённых файлов: 8 добавлений и 6 удалений

Просмотреть файл

@ -39,6 +39,7 @@ MAN7_TXT += gitworkflows.txt
MAN_TXT = $(MAN1_TXT) $(MAN5_TXT) $(MAN7_TXT)
MAN_XML = $(patsubst %.txt,%.xml,$(MAN_TXT))
MAN_HTML = $(patsubst %.txt,%.html,$(MAN_TXT))
GIT_MAN_REF = master
OBSOLETE_HTML += everyday.html
OBSOLETE_HTML += git-remote-helpers.html
@ -437,14 +438,14 @@ require-manrepo::
then echo "git-manpages repository must exist at $(MAN_REPO)"; exit 1; fi
quick-install-man: require-manrepo
'$(SHELL_PATH_SQ)' ./install-doc-quick.sh $(MAN_REPO) $(DESTDIR)$(mandir)
'$(SHELL_PATH_SQ)' ./install-doc-quick.sh $(MAN_REPO) $(DESTDIR)$(mandir) $(GIT_MAN_REF)
require-htmlrepo::
@if test ! -d $(HTML_REPO); \
then echo "git-htmldocs repository must exist at $(HTML_REPO)"; exit 1; fi
quick-install-html: require-htmlrepo
'$(SHELL_PATH_SQ)' ./install-doc-quick.sh $(HTML_REPO) $(DESTDIR)$(htmldir)
'$(SHELL_PATH_SQ)' ./install-doc-quick.sh $(HTML_REPO) $(DESTDIR)$(htmldir) $(GIT_MAN_REF)
print-man1:
@for i in $(MAN1_TXT); do echo $$i; done

Просмотреть файл

@ -3,11 +3,12 @@
repository=${1?repository}
destdir=${2?destination}
GIT_MAN_REF=${3?master}
head=master GIT_DIR=
GIT_DIR=
for d in "$repository/.git" "$repository"
do
if GIT_DIR="$d" git rev-parse refs/heads/master >/dev/null 2>&1
if GIT_DIR="$d" git rev-parse "$GIT_MAN_REF" >/dev/null 2>&1
then
GIT_DIR="$d"
export GIT_DIR
@ -27,12 +28,12 @@ export GIT_INDEX_FILE GIT_WORK_TREE
rm -f "$GIT_INDEX_FILE"
trap 'rm -f "$GIT_INDEX_FILE"' 0
git read-tree $head
git read-tree "$GIT_MAN_REF"
git checkout-index -a -f --prefix="$destdir"/
if test -n "$GZ"
then
git ls-tree -r --name-only $head |
git ls-tree -r --name-only "$GIT_MAN_REF" |
xargs printf "$destdir/%s\n" |
xargs gzip -f
fi