cgit/contrib/hooks/post-receive.agefile

33 lines
818 B
Plaintext
Raw Normal View History

#!/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"