From f94885c5d846fe04b82ba7553e6f00989c60c439 Mon Sep 17 00:00:00 2001 From: Jonas Smedegaard Date: Wed, 26 May 2021 16:56:15 +0200 Subject: update SETUP doc and gitolite hook --- lib/gitolite3/hooks/common/post-receive | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'lib') diff --git a/lib/gitolite3/hooks/common/post-receive b/lib/gitolite3/hooks/common/post-receive index ab100d9..9c9aed7 100755 --- a/lib/gitolite3/hooks/common/post-receive +++ b/lib/gitolite3/hooks/common/post-receive @@ -2,12 +2,16 @@ # 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_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 @@ -20,8 +24,19 @@ export GIT_WORK_TREE pwd echo "Checking out content to $GIT_WORK_TREE ..." +init=1 +[ -e "$GIT_WORK_TREE" ] || init= + git checkout -f "$WEB_BRANCH" chmod -R u=rw,go=r,a+X "$GIT_WORK_TREE" +if [ -n "$WEB_EXEC_INIT" ] && [ -n "$init" ]; then + ( cd "$WEB_BASEDIR" && echo "$WEB_EXEC_INIT" | sh - ) +fi + +if [ -n "$WEB_EXEC" ]; then + ( cd "$WEB_BASEDIR" && echo "$WEB_EXEC" | sh - ) +fi + echo "Checkout completed succesfully!" -- cgit v1.2.3