githooks

My git server-side hooks

git clone git://git.lin.moe/githooks.git

 1#!/usr/bin/env sh
 2
 3# need variables:
 4# WEBROOT
 5# SOFT_SERVE_DATA_PATH
 6# SOFT_SERVE_REPO_PATH
 7# SOFT_SERVE_GIT_PUBLIC_URL
 8# SOFT_SERVE_REPO_NAME
 9
10: ${SOFT_SERVE_DATA_PATH="/var/lib/soft-serve"}
11: ${WEBROOT="/srv/http/git"}
12
13if [ ! -f "$SOFT_SERVE_REPO_PATH/git-render-readme" ]; then
14	_pwd=$PWD
15	cd "$SOFT_SERVE_REPO_PATH"
16	if [ -x "$(command -v emacs)" ] && [ "$(git ls-tree HEAD README.org)" ] ; then
17		ln -s $SOFT_SERVE_DATA_PATH/hooks/render-org-html ./git-render-readme
18	elif [ -x "$(command -v markdown)" ] && [ "$(git ls-tree HEAD README.md)" ]; then
19		ln -s $SOFT_SERVE_DATA_PATH/hooks/render-md-html ./git-render-readme
20	fi
21	cd $_pwd
22fi
23
24
25if [ -f "$SOFT_SERVE_REPO_PATH/git-daemon-export-ok" ]; then
26	depp -c 10 \
27	     -u "$SOFT_SERVE_GIT_PUBLIC_URL/$SOFT_SERVE_REPO_NAME.git" \
28	     -d "$WEBROOT/$SOFT_SERVE_REPO_NAME" \
29	     "$SOFT_SERVE_REPO_PATH"
30else 
31	[ -z "$SOFT_SERVE_REPO_NAME" ] || rm -rf "$WEBROOT/$SOFT_SERVE_REPO_NAME"
32fi
33
34depp-index -r -x -d $WEBROOT -t git.lin.moe $SOFT_SERVE_DATA_PATH/repos