aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2006-12-23 08:26:09 -0800
committerJunio C Hamano <junkio@cox.net>2006-12-23 09:22:30 -0800
commit6538d1ef31fc2989e4dd0422a31a170a7d560b02 (patch)
tree99d3c2f8b77d9adff8619928f4b7226b1c1fa7a4
parent6be935115b4a3bfa9062875a569d4a018ac372e2 (diff)
downloadgit-6538d1ef31fc2989e4dd0422a31a170a7d560b02.tar.gz
git-6538d1ef31fc2989e4dd0422a31a170a7d560b02.tar.xz
Makefile: add quick-install-doc for installing pre-built manpages
This adds and uses the install-doc-quick.sh file to Documentation/, which is usable for people who track either the 'html' or 'man' heads in Junio's repository (prefixed with 'origin/' if cloned locally). You may override this by specifying DOC_REF in the make environment or in config.mak. GZ may also be set in the environment (or config.mak) if you wish to gzip the documentation after installing it. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
-rw-r--r--Documentation/Makefile4
-rwxr-xr-xDocumentation/install-doc-quick.sh31
-rw-r--r--Makefile2
3 files changed, 37 insertions, 0 deletions
diff --git a/Documentation/Makefile b/Documentation/Makefile
index d68bc4a78..93c7024b4 100644
--- a/Documentation/Makefile
+++ b/Documentation/Makefile
@@ -32,6 +32,7 @@ man7dir=$(mandir)/man7
# DESTDIR=
INSTALL?=install
+DOC_REF = origin/man
-include ../config.mak.autogen
@@ -112,3 +113,6 @@ $(patsubst %.txt,%.html,$(wildcard howto/*.txt)): %.html : %.txt
install-webdoc : html
sh ./install-webdoc.sh $(WEBDOC_DEST)
+
+quick-install:
+ sh ./install-doc-quick.sh $(DOC_REF) $(mandir)
diff --git a/Documentation/install-doc-quick.sh b/Documentation/install-doc-quick.sh
new file mode 100755
index 000000000..a64054948
--- /dev/null
+++ b/Documentation/install-doc-quick.sh
@@ -0,0 +1,31 @@
+#!/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-sh-setup
+export GIT_DIR
+
+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
+fi
+
+GIT_INDEX_FILE=`pwd`/.quick-doc.index
+export GIT_INDEX_FILE
+rm -f "$GIT_INDEX_FILE"
+git-read-tree $head
+git-checkout-index -a -f --prefix="$mandir"/
+
+if test -n "$GZ"; then
+ cd "$mandir"
+ for i in `git-ls-tree -r --name-only $head`
+ do
+ gzip < $i > $i.gz && rm $i
+ done
+fi
+rm -f "$GIT_INDEX_FILE"
diff --git a/Makefile b/Makefile
index 4362297e0..ebc1a17e7 100644
--- a/Makefile
+++ b/Makefile
@@ -824,6 +824,8 @@ install: all
install-doc:
$(MAKE) -C Documentation install
+quick-install-doc:
+ $(MAKE) -C Documentation quick-install