From f94885c5d846fe04b82ba7553e6f00989c60c439 Mon Sep 17 00:00:00 2001
From: Jonas Smedegaard <dr@jones.dk>
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