#!/bin/sh # This requires git-manpages and/or git-htmldocs repositories setglobal repository = $(1?repository) setglobal destdir = $(2?destination) setglobal head = 'master', GIT_DIR = '' for d in ["$repository/.git" $repository] { if env GIT_DIR=$d git rev-parse refs/heads/master >/dev/null !2 > !1 { setglobal GIT_DIR = $d export GIT_DIR break } } if test -z $GIT_DIR { echo >&2 "Neither $repository nor $repository/.git is a repository> !2 "Neither $repository nor $repository/.git is a repository" exit 1 } setglobal GIT_WORK_TREE = $[pwd] setglobal GIT_INDEX_FILE = "$[pwd]/.quick-doc.$Pid" export GIT_INDEX_FILE GIT_WORK_TREE rm -f $GIT_INDEX_FILE trap 'rm -f "$GIT_INDEX_FILE"' 0 git read-tree $head git checkout-index -a -f --prefix="$destdir"/ if test -n $GZ { git ls-tree -r --name-only $head | xargs printf "$destdir/%s\n" | xargs gzip -f } rm -f $GIT_INDEX_FILE