aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Keeping <john@keeping.me.uk>2014-12-23 15:40:44 +0100
committerJason A. Donenfeld <Jason@zx2c4.com>2015-08-12 14:06:36 +0200
commit121e65391446069a538ae8d3f7938452178de7c6 (patch)
tree40ce94b65fc7a7d2b6d5ac98441460cb6a2a73a9
parent2eb41c4665ad6866c8893668263c401d7b0ffc5d (diff)
downloadcgit-121e65391446069a538ae8d3f7938452178de7c6.tar.gz
cgit-121e65391446069a538ae8d3f7938452178de7c6.tar.xz
contrib/hooks: add sample post-receive hook using agefile
One of the most frequent questions on the mailing list relates to the idle time in the repository list. The answer to this is to use the "agefile" feature to calculate the time of the last change whenever the repository receives changes. Add a sample post-receive hook in a new "contrib" directory so that we can just point people at the repository in the future. Signed-off-by: John Keeping <john@keeping.me.uk>
-rwxr-xr-xcontrib/hooks/post-receive.agefile19
1 files changed, 19 insertions, 0 deletions
diff --git a/contrib/hooks/post-receive.agefile b/contrib/hooks/post-receive.agefile
new file mode 100755
index 0000000..2f72ae9
--- /dev/null
+++ b/contrib/hooks/post-receive.agefile
@@ -0,0 +1,19 @@
+#!/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/last-modified
+
+mkdir -p "$(dirname "$agefile")" &&
+git for-each-ref \
+ --sort=-authordate --count=1 \
+ --format='%(authordate:iso8601)' \
+ >"$agefile"