X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=Documentation%2Finstall-doc-quick.sh;h=327f69bcf5a20c7cf33a712b08bed9d4ccfe9d2e;hb=62cdb6b23a7c6cf527d8f8c470c7d463f6ca9f6d;hp=a64054948aec41e820b8864a71229bbd568aa99a;hpb=31c74ca67162674e3ff8fcc294b75881c3e7cc15;p=git.git diff --git a/Documentation/install-doc-quick.sh b/Documentation/install-doc-quick.sh index a64054948..327f69bcf 100755 --- a/Documentation/install-doc-quick.sh +++ b/Documentation/install-doc-quick.sh @@ -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=' ' -. git-sh-setup -export GIT_DIR +# 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" -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="$destdir"/ -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 +if test -n "$GZ" +then + git ls-tree -r --name-only $head | + xargs printf "$destdir/%s\n" | + xargs gzip -f fi rm -f "$GIT_INDEX_FILE"