summaryrefslogtreecommitdiff
path: root/lib/gitolite3/hooks/common/post-receive
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitolite3/hooks/common/post-receive')
-rwxr-xr-xlib/gitolite3/hooks/common/post-receive25
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/gitolite3/hooks/common/post-receive b/lib/gitolite3/hooks/common/post-receive
new file mode 100755
index 0000000..9342075
--- /dev/null
+++ b/lib/gitolite3/hooks/common/post-receive
@@ -0,0 +1,25 @@
+#!/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)
+
+set -eu
+
+[ -n "$GL_OPTION_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 ..."
+
+git checkout -f "$GL_OPTION_WEB_BRANCH"
+
+chmod -R u=rw,go=r,a+X "$GIT_WORK_TREE"
+
+echo "Checkout completed succesfully!"