diff options
| author | Bryce Kwon <bryce@brycekwon.com> | |
|---|---|---|
| committer | Bryce Kwon <bryce@brycekwon.com> | |
| commit | ||
| parent | ||
| tree | ||
| download | ||
Rename the agefile hook to `cgit-age`
Diffstat (limited to 'custom/hooks/post-receive.cgit-age')
| -rwxr-xr-x | custom/hooks/post-receive.cgit-age | 38 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1 file changed, 38 insertions, 0 deletions
diff --git a/custom/hooks/post-receive.cgit-age b/custom/hooks/post-receive.cgit-age new file mode 100755 index 0000000..80c67c2 --- /dev/null +++ b/custom/hooks/post-receive.cgit-age @@ -0,0 +1,38 @@ +#!/bin/sh +# +# Example hook that updates the "agefile" cgit reads for the idle column. +# +# 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. +# + +set -eu + +# The pushing user's umask decides the mode of a freshly written agefile, so +# force one that leaves the file readable by the web server. +umask 022 + +agefile="$(git rev-parse --git-dir)"/info/web/last-modified + +# Committer dates rather than author dates, so a push of rebased or imported +# history still counts as recent activity. Branch tips only, since an +# annotated tag carries no committer date of its own and would sort in as an +# empty line. +date="$(git for-each-ref --sort=-committerdate --count=1 \ + --format='%(committerdate:iso8601)' refs/heads/)" + +# A repository with no branches keeps whatever cgit already had, rather than +# being handed an empty file. +[ -n "$date" ] || exit 0 + +mkdir -p "$(dirname "$agefile")" + +# Write through a temporary file so a reader never sees a half written date. +tmpfile="$agefile.$$" +trap 'rm -f "$tmpfile"' EXIT +printf '%s\n' "$date" >"$tmpfile" +mv "$tmpfile" "$agefile" |
