Subject: Re: GIT_PUSH_CERT* env vars and update/post-update hooks...

From: Junio C Hamano <[email-masked]>
Date: Mon, 29 Dec 2014 08:36:46 -0800

Sitaram Chamarty <[email-masked]> writes:

> Any chance I could persuade you to set the GIT_PUSH_CERT* environment
> variables for the update (and post-update) hooks also?

I do not think of a fundamental reason why we shouldn't give these
environment variables to update or other hooks.  It should just be
the matter of calling prepare_push_cert_sha1() on the child_process
struct used to run the hooks you want.

> [1]: because it's nice to *selectively* reject refs when more than one
> ref is pushed at the same time; pre-receive is "all or none".

It cuts both ways; inside "update", your "selective" rejection
cannot make the decision with the whole picture (you only have a
peephole into individual changes).  "post-receive" sees the whole
picture, but it has to say all-or-none.  Neither is ideal if you
truly want a useful "selective".