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:
parent
939ca96b0e
commit
fcbebfdd33
@ -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
|
||||
|
@ -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"
|
||||
|
29
INSTALL
29
INSTALL
@ -139,34 +139,11 @@ Issues of note:
|
||||
uses some compatibility wrappers to work on AsciiDoc 8. If you have
|
||||
AsciiDoc 7, try "make ASCIIDOC7=YesPlease".
|
||||
|
||||
Alternatively, pre-formatted documentation is available in
|
||||
"html" and "man" branches of the git repository itself. For
|
||||
example, you could:
|
||||
|
||||
$ mkdir manual && cd manual
|
||||
$ git init
|
||||
$ git fetch-pack git://git.kernel.org/pub/scm/git/git.git man html |
|
||||
while read a b
|
||||
do
|
||||
echo $a >.git/$b
|
||||
done
|
||||
$ cp .git/refs/heads/man .git/refs/heads/master
|
||||
$ git checkout
|
||||
|
||||
to checkout the pre-built man pages. Also in this repository:
|
||||
|
||||
$ git checkout html
|
||||
|
||||
would instead give you a copy of what you see at:
|
||||
|
||||
http://www.kernel.org/pub/software/scm/git/docs/
|
||||
|
||||
There are also "make quick-install-doc", "make quick-install-man"
|
||||
and "make quick-install-html" which install preformatted man pages
|
||||
and html documentation.
|
||||
This does not require asciidoc/xmlto, but it only works from within
|
||||
a cloned checkout of git.git with these two extra branches, and will
|
||||
not work for the maintainer for obvious chicken-and-egg reasons.
|
||||
and html documentation. To use these build targets, you need to
|
||||
clone two separate git-htmldocs and git-manpages repositories next
|
||||
to the clone of git itself.
|
||||
|
||||
It has been reported that docbook-xsl version 1.72 and 1.73 are
|
||||
buggy; 1.72 misformats manual pages for callouts, and 1.73 needs
|
||||
|
Loading…
Reference in New Issue
Block a user