aboutsummaryrefslogtreecommitdiff
path: root/contrib/hooks/post-receive.agefile
blob: d0be639091cfcae384d5b6ceee60884d70cd504e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/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"