On Mon, 28 May 2018, Sitaram Chamarty wrote:
> 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.
i'm not convinced that that reference is "just a sample." the
comment in builtin/init-db.c reads:
/* Note: if ".git/hooks" file exists in the repository being
* re-initialized, /etc/core-git/templates/hooks/update would
* cause "git init" to fail here...
the reference to "/etc/core-git/templates/hooks/update" might lead
some people to believe that that somehow refers to the "update.sample"
hook that comes with a new repo, but that hook is specifically related
to git-receive-pack, and has nothing to do with re-initalizing a repo,
AFAICT.
i'm just suggesting that that comment in buildin/init-db.c seems
more than a little inaccurate.
rday
--
========================================================================
Robert P. J. Day Ottawa, Ontario, CANADA
http://crashcourse.ca/dokuwiki
Twitter: http://twitter.com/rpjday
LinkedIn: http://ca.linkedin.com/in/rpjday
========================================================================