diff options
Diffstat (limited to 'modules/services/gitolite')
-rw-r--r-- | modules/services/gitolite/default.nix | 2 | ||||
-rw-r--r-- | modules/services/gitolite/post-receive | 19 |
2 files changed, 21 insertions, 0 deletions
diff --git a/modules/services/gitolite/default.nix b/modules/services/gitolite/default.nix index e2439a2..43afb71 100644 --- a/modules/services/gitolite/default.nix +++ b/modules/services/gitolite/default.nix @@ -44,6 +44,7 @@ in system.activationScripts.gitolite-create-local = '' mkdir -p /var/lib/gitolite/local/triggers mkdir -p /var/lib/gitolite/local/commands + mkdir -p /var/lib/gitolite/local/hooks/common chown -R git:git /var/lib/gitolite/local ''; @@ -51,6 +52,7 @@ in # https://groups.google.com/g/gitolite/c/NwZ1-hq9-9E/m/mDbiKyAvDwAJ "C /var/lib/gitolite/local/triggers/fix-refs 755 - - - ${./fix-refs}" "C /var/lib/gitolite/local/commands/rename 755 - - - ${./rename}" + "C /var/lib/gitolite/local/hooks/common/post-receive 755 - - - ${./post-receive}" ]; diff --git a/modules/services/gitolite/post-receive b/modules/services/gitolite/post-receive new file mode 100644 index 0000000..2f72ae9 --- /dev/null +++ b/modules/services/gitolite/post-receive @@ -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" |