On Mon, May 28, 2018 at 09:27:18AM -0400, Robert P. J. Day wrote: [snipped the rest because I really don't know] > more to the point, is that actually what the "update" hook does? i > just looked at the shipped sample, "update.sample", and it seems to be > related to tags: > > #!/bin/sh > # > # An example hook script to block unannotated tags from entering. no that's just a sample. An update hook can do pretty much anything, and if it exits with 0 status code, the actual update succeeds. If it exists with any non-zero exit code, the update will fail. This is (usually) the basis for a lot of checks that people may want, from commit message format to access control at the ref (branch/tag) level for write operations.