Merge git://git.kernel.org/pub/scm/gitk/gitk
[gitweb.git] / Documentation / install-doc-quick.sh
index a64054948aec41e820b8864a71229bbd568aa99a..35f440876ed182de319b6d3f0b8296b1a1ede29d 100755 (executable)
@@ -6,11 +6,11 @@ head="$1"
 mandir="$2"
 SUBDIRECTORY_OK=t
 USAGE='<refname> <target directory>'
-. git-sh-setup
-export GIT_DIR
+. "$(git --exec-path)"/git-sh-setup
+cd_to_toplevel
 
 test -z "$mandir" && usage
-if ! git-rev-parse --verify "$head^0" >/dev/null; then
+if ! git rev-parse --verify "$head^0" >/dev/null; then
        echo >&2 "head: $head does not exist in the current repository"
        usage
 fi
@@ -18,14 +18,14 @@ 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"/
+trap 'rm -f "$GIT_INDEX_FILE"' 0
+
+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
+       git ls-tree -r --name-only $head |
+       xargs printf "$mandir/%s\n" |
+       xargs gzip -f
 fi
 rm -f "$GIT_INDEX_FILE"