Junio C Hamano  committed fcbebfd

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 <>
Signed-off-by: Junio C Hamano <>

  • Participants
  • Parent commits 939ca96
  • Branches master

Comments (0)

Files changed (3)

File Documentation/Makefile

 RM ?= rm -f
-DOC_REF = origin/man
-HTML_REF = origin/html
+MAN_REPO = ../../git-manpages
+HTML_REPO = ../../git-htmldocs
 install-webdoc : html
+# 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
-	'$(SHELL_PATH_SQ)' ./ $(DOC_REF) $(DESTDIR)$(mandir)
+	@if test ! -d $(MAN_REPO); \
+	then echo "git-manpages repository must exist at $(MAN_REPO)"; exit 1; fi
+quick-install-man: require-manrepo
+	'$(SHELL_PATH_SQ)' ./ $(MAN_REPO) $(DESTDIR)$(mandir)
+	@if test ! -d $(HTML_REPO); \
+	then echo "git-htmldocs repository must exist at $(HTML_REPO)"; exit 1; fi
-	'$(SHELL_PATH_SQ)' ./ $(HTML_REF) $(DESTDIR)$(htmldir)
+quick-install-html: require-htmlrepo
+	'$(SHELL_PATH_SQ)' ./ $(HTML_REPO) $(DESTDIR)$(htmldir)

File Documentation/

-# This requires a branch named in $head
-# (usually 'man' or 'html', provided by the git.git repository)
-set -e
-USAGE='<refname> <target directory>'
-. "$(git --exec-path)"/git-sh-setup
+# 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
+head=master GIT_DIR=
+for d in "$repository/.git" "$repository"
+	if GIT_DIR="$d" git rev-parse refs/heads/master >/dev/null 2>&1
+	then
+		GIT_DIR="$d"
+		export GIT_DIR
+		break
+	fi
+if test -z "$GIT_DIR"
+	echo >&2 "Neither $repository nor $repository/.git is a repository"
+	exit 1
 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"
 	git ls-tree -r --name-only $head |
-	xargs printf "$mandir/%s\n" |
+	xargs printf "$destdir/%s\n" |
 	xargs gzip -f
 rm -f "$GIT_INDEX_FILE"
    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:// 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:
    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