blob: 4a869f32ac10239649940b4d57c67cccc87b0c0a (
plain)
- #!/bin/sh
- # This gitolite3 hook exports content for web publishing.
- # The following gitolite3 environment variables affect its use:
- # WEB_BRANCH tree-ish (hook silently skipped if unset)
- # WEB_BASEDIR path writable by gitolite3 (default: /var/www/gitolite3)
- # WEB_EXEC_INIT command executed in exported dir after initial checkout
- # WEB_EXEC command executed in exported dir after every checkout
- set -eu
- WEB_BRANCH=${GL_OPTION_WEB_BRANCH:-}
- WEB_EXEC=${GL_OPTION_WEB_EXEC:-}
- WEB_EXEC_INIT=${GL_OPTION_WEB_EXEC_INIT:-}
- [ -n "$WEB_BRANCH" ] || exit 0
- # which git branch to check out
- WEB_BASEDIR=${GL_OPTION_WEB_BASEDIR:-/var/www/gitolite3}
- GIT_WORK_TREE="$WEB_BASEDIR/$GL_REPO"
- export GIT_WORK_TREE
- pwd
- echo "Checking out content to $GIT_WORK_TREE ..."
- if [ -e "$GIT_WORK_TREE" ]; then
- git checkout -f "$WEB_BRANCH"
- chmod -R u=rw,go=r,a+X "$GIT_WORK_TREE"
- else
- git clone --quiet --branch "$WEB_BRANCH"
- chmod -R u=rw,go=r,a+X "$GIT_WORK_TREE"
- if [ -n "$WEB_EXEC_INIT" ]; then
- ( cd "$WEB_BASEDIR" && echo "$WEB_EXEC_INIT" | sh - )
- fi
- fi
- if [ -n "$WEB_EXEC" ]; then
- ( cd "$WEB_BASEDIR" && echo "$WEB_EXEC" | sh - )
- fi
- echo "Checkout completed succesfully!"
|