#!/bin/sh # # Example hook that keeps cgit's dumb HTTP clone data current. # # cgit can serve "git clone" over HTTP by itself using the dumb protocol, # which is on by default through enable-http-clone. The dumb protocol # reads a few static files that git refreshes only when you run # "git update-server-info", so without this hook a fresh push can leave a # clone unable to see the new refs and objects. # # You do not need this when you clone through git-http-backend (the smart # protocol) or over ssh or git://. It matters only when cgit itself is the # clone endpoint. # # To install it, copy or link this file to "hooks/post-update" in each # repository and make sure it is executable. # set -eu # The pushing user's umask decides the mode of the info files this rewrites, # so force one that leaves them readable by the web server. umask 022 exec git update-server-info