Merge branch 'ph/diffopts'
[gitweb.git] / Documentation / install-doc-quick.sh
index a64054948aec41e820b8864a71229bbd568aa99a..5433cf8cedc466d2da56386ec4b5f4f9f462ef5b 100755 (executable)
@@ -7,10 +7,10 @@ mandir="$2"
 SUBDIRECTORY_OK=t
 USAGE='<refname> <target directory>'
 . git-sh-setup
-export GIT_DIR
+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"