summaryrefslogtreecommitdiffstats
path: root/gitolite/dotfiles/local/triggers
diff options
context:
space:
mode:
authorMalfurious <m@lfurio.us>2023-09-15 10:59:09 -0400
committerMalfurious <m@lfurio.us>2023-09-15 10:59:09 -0400
commita6f2c9e34b7a0bdaff2a44b54ca7999728f36773 (patch)
tree73b2ff4824313805629ee98efd1844fd7b636da1 /gitolite/dotfiles/local/triggers
parent5cd2822ed607d1f20d1d114aebe511a4fe5f1825 (diff)
parentc1db5d6e6557ac5f3b9d408eb2de888bf096a370 (diff)
downloadsrcnode-a6f2c9e34b7a0bdaff2a44b54ca7999728f36773.tar.gz
srcnode-a6f2c9e34b7a0bdaff2a44b54ca7999728f36773.zip
Merge branch 'gitolite-debian-refactor'
Refactor the gitolite docker image to build from Debian, but also clean up a lot of the original build process. The move off of archlinux is done since it is a sub-optimal pick for a docker base. However, I'm specifically moving off it because archlinux does not allow for the use of normalmode on i386 machines. Most offical bases do, and debian seems to be a good fit for running gitolite. Previously, this git repository was serving double duty as the code repository for normalmode, as well as the site gitolite-admin repository. This is no longer going to be the case - gitolite-admin is now completely separate. Not only does this allow me to clean up the folder structure, but going forward, the out-of-the-box experience of a new install will be 'more correct' for what normalmode intends. IE: Our config files will more often already be installed by default, instead of requiring user-intervention on the gitolite-admin side of things. The docker-compose.yml file is left behind. I'll update it after cgit gets a similar treatment. * gitolite-debian-refactor: gitolite: Add admin initialization script gitolite: Allow users to delete remote HEAD branches gitolite: Remove hard-coded admin username gitolite: Correct site-local code location gitolite: Refactor Dockerfile for debian base gitolite: Consolidate config files into a single directory
Diffstat (limited to 'gitolite/dotfiles/local/triggers')
-rwxr-xr-xgitolite/dotfiles/local/triggers/push18
1 files changed, 18 insertions, 0 deletions
diff --git a/gitolite/dotfiles/local/triggers/push b/gitolite/dotfiles/local/triggers/push
new file mode 100755
index 0000000..7a3cb56
--- /dev/null
+++ b/gitolite/dotfiles/local/triggers/push
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+[ "$4" = "W" ] || exit 0
+
+cd "$GL_REPO_BASE/$2.git"
+head=$(git symbolic-ref HEAD)
+
+if ! [ -f "$head" ]; then
+ set -- refs/heads/*
+ if [ "$#" -eq 1 ]; then
+ git symbolic-ref HEAD "$1"
+ echo "NOTICE: Default branch set to $1" >&2
+ else
+ echo "WARNING: The default branch is $head, but no such branch exists" >&2
+ fi
+fi
+
+git log -1 --all --date-order --format=%ci >agefile