Re: pre-commit hook not run on conflict resolution during rebase

2015-05-28 Thread Junio C Hamano
li...@haller-berlin.de (Stefan Haller) writes:

> When a rebase stops because of a conflict, and I edit the file to
> resolve the conflict and say "git rebase --continue", then the
> pre-commit hook doesn't run at that point,...
> From glancing through the githooks manpage, I couldn't see any other
> hook that would help in this situation. Am I missing something?

I do not think so.  There may be some fallouts, like negatively
affecting folks who have been relying on the current behaviour, but
I do not see a fundamental reason why that hook should not trigger
there (it may not trigger in the current implementation, but I view
it as lack of need so far, not a deliberate omission).

> I guess the next best solution would be to also have a pre-push hook
> that performs the same checks again, just in case the bad code managed
> to get past the pre-commit hook for some reason or other. This feels
> very redundant, but I guess it would work well.

I'd say pre-receive would be the most sensible place to check things
like this.  Some of your developers may not have pre-commit hook or
even run "commit --no-verify" to bypass the local check, and if you
have a central meeting place for the efforts by all your folks, that
is where you want to enforce the policy.

Checks done anywhere else are what are redundant, including the
pre-commit hook in individual developers.  You can view them as a
way for individual developers to save their time---by choosing to
check locally, they make sure their commits do not trigger the
pre-receive hook at the central place.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: pre-commit hook not run on conflict resolution during rebase

2015-05-29 Thread Stefan Haller
Junio C Hamano  wrote:

> li...@haller-berlin.de (Stefan Haller) writes:
> 
> > I guess the next best solution would be to also have a pre-push hook
> > that performs the same checks again, just in case the bad code managed
> > to get past the pre-commit hook for some reason or other. This feels
> > very redundant, but I guess it would work well.
> 
> I'd say pre-receive would be the most sensible place to check things
> like this.

Yes, I totally agree, and we used to have this setup when we were still
hosting our code in-house; with pre-receive doing the authorative
checks, and pre-commit being optional as a convenience for developers,
as you say.

Now we have moved most of our code to github, and you can't have
pre-receive hooks there, as far as I can tell. (I should have mentioned
that, sorry.)

To make up for that, we have put considerable effort into ensuring that
everyone on the team has up-to-date hooks locally, by installing them
automatically as part of our build system infrastructure.

In that light, do you agree that a pre-push hook is the best we can do
now to plug this hole?


-- 
Stefan Haller
Berlin, Germany
http://www.haller-berlin.de/
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html