docs: Update install-doc-quick

The preformatted documentation pages live in their own repositories
these days. Adjust the installation procedure to the updated layout.

Tested-by: Stefan Naewe <stefan.naewe@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Junio C Hamano
2011-11-08 10:17:40 -08:00
parent 939ca96b0e
commit fcbebfdd33
3 changed files with 46 additions and 50 deletions

View File

@ -46,8 +46,8 @@ MANPAGE_XSL = manpage-normal.xsl
XMLTO_EXTRA =
INSTALL?=install
RM ?= rm -f
DOC_REF = origin/man
HTML_REF = origin/html
MAN_REPO = ../../git-manpages
HTML_REPO = ../../git-htmldocs
infodir?=$(prefix)/share/info
MAKEINFO=makeinfo
@ -327,12 +327,23 @@ $(patsubst %.txt,%.html,$(wildcard howto/*.txt)): %.html : %.txt
install-webdoc : html
'$(SHELL_PATH_SQ)' ./install-webdoc.sh $(WEBDOC_DEST)
# You must have a clone of git-htmldocs and git-manpages repositories
# next to the git repository itself for the following to work.
quick-install: quick-install-man
quick-install-man:
'$(SHELL_PATH_SQ)' ./install-doc-quick.sh $(DOC_REF) $(DESTDIR)$(mandir)
require-manrepo::
@if test ! -d $(MAN_REPO); \
then echo "git-manpages repository must exist at $(MAN_REPO)"; exit 1; fi
quick-install-html:
'$(SHELL_PATH_SQ)' ./install-doc-quick.sh $(HTML_REF) $(DESTDIR)$(htmldir)
quick-install-man: require-manrepo
'$(SHELL_PATH_SQ)' ./install-doc-quick.sh $(MAN_REPO) $(DESTDIR)$(mandir)
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)
.PHONY: FORCE

View File

@ -1,31 +1,39 @@
#!/bin/sh
# This requires a branch named in $head
# (usually 'man' or 'html', provided by the git.git repository)
set -e
head="$1"
mandir="$2"
SUBDIRECTORY_OK=t
USAGE='<refname> <target directory>'
. "$(git --exec-path)"/git-sh-setup
cd_to_toplevel
# This requires git-manpages and/or git-htmldocs repositories
test -z "$mandir" && usage
if ! git rev-parse --verify "$head^0" >/dev/null; then
echo >&2 "head: $head does not exist in the current repository"
usage
repository=${1?repository}
destdir=${2?destination}
head=master GIT_DIR=
for d in "$repository/.git" "$repository"
do
if GIT_DIR="$d" git rev-parse refs/heads/master >/dev/null 2>&1
then
GIT_DIR="$d"
export GIT_DIR
break
fi
done
if test -z "$GIT_DIR"
then
echo >&2 "Neither $repository nor $repository/.git is a repository"
exit 1
fi
GIT_INDEX_FILE=`pwd`/.quick-doc.index
export GIT_INDEX_FILE
GIT_WORK_TREE=$(pwd)
GIT_INDEX_FILE=$(pwd)/.quick-doc.$$
export GIT_INDEX_FILE GIT_WORK_TREE
rm -f "$GIT_INDEX_FILE"
trap 'rm -f "$GIT_INDEX_FILE"' 0
git read-tree $head
git checkout-index -a -f --prefix="$mandir"/
git checkout-index -a -f --prefix="$destdir"/
if test -n "$GZ"; then
if test -n "$GZ"
then
git ls-tree -r --name-only $head |
xargs printf "$mandir/%s\n" |
xargs printf "$destdir/%s\n" |
xargs gzip -f
fi
rm -f "$GIT_INDEX_FILE"