cgit/contrib/hooks/post-receive.agefile
Richard Maw 63a5fe0a3d Update contrib script to update agefiles per namespace
This uses the same age file as before if it's in the root namespace,
but puts the agefile in info/web/namespaced/$GIT_NAMESPACE/last-modified.

Signed-off-by: Richard Maw <richard.maw@gmail.com>
2016-07-13 20:09:37 +01:00

33 lines
818 B
Bash
Executable File

#!/bin/sh
#
# An example hook to update the "agefile" for CGit's idle time calculation.
#
# This hook assumes that you are using the default agefile location of
# "info/web/last-modified". If you change the value in your cgitrc then you
# must also change it here.
#
# To install the hook, copy (or link) it to the file "hooks/post-receive" in
# each of your repositories.
#
agefile="$(git rev-parse --git-dir)"/info/web
if [ -z "$GIT_NAMESPACE" ]; then
agefile="$agefile/last-modified"
else
agefile="$agefile/namespaced/$GIT_NAMESPACE/last-modified"
fi
old_IFS="$IFS"
IFS=/
for comp in $GIT_NAMESPACE; do
nsref="${nsref}refs/namespaces/$comp/"
done
IFS="$old_IFS"
mkdir -p "$(dirname "$agefile")" &&
git for-each-ref \
--sort=-authordate --count=1 \
--format='%(authordate:iso8601)' \
$nsref \
>"$agefile"