3 # Update all out-of-date hooks in all current projects and install missing ones
10 hookbin
="$cfg_basedir/hooks"
11 cut
-d : -f 1 < "$cfg_chroot/etc/group" |
grep -v ^_repo | \
14 projdir
="$base/$proj.git"
16 for hook
in pre-receive post-receive update post-update
; do
17 if [ -f "$projdir/hooks/$hook" ]; then
18 if ! cmp -s "$hookbin/$hook" "$projdir/hooks/$hook"; then
19 cat "$hookbin/$hook" > "$projdir/hooks/$hook"
20 updates
="$updates $hook"
22 elif [ ! -e "$projdir/hooks/$hook" ]; then
23 [ -d "$projdir/hooks" ] || mkdir
"$projdir/hooks"
24 cat "$hookbin/$hook" > "$projdir/hooks/$hook"
25 chmod 0775 "$projdir/hooks/$hook"
26 updates
="$updates +$hook"
29 [ -z "$updates" ] ||
echo "$proj:$updates"