threads / discuss / 24565

hooks not fired by a merge's auto-commit

Subject: hooks not fired by a merge's auto-commit

## tl;dr

3 messages between Jul 29, 2010 and Aug 1, 2010.

replies: 2people: 3as markdown or json

Richard Bronosky· Jul 29, 2010, 01:25 UTC · lore

Using git 1.7.1 it seems that a merge (more specifically the auto-commit) does not fire any of the following hooks: pre-commit prepare-commit-msg commit-msg

Is that by design? Would it be folly to try to patch that behavior?

I humbly request your input before I go trying to "correct" this behavior.
-- 
.!# RichardBronosky #!.
Junio C Hamano· Jul 29, 2010, 16:50 UTC · re: Richard Bronosky · lore

Re: hooks not fired by a merge's auto-commit

Richard Bronosky <Richard@Bronosky.com> writes:
Show 5 quoted lines
> Using git 1.7.1 it seems that a merge (more specifically the
> auto-commit) does not fire any of the following hooks:
> pre-commit  prepare-commit-msg commit-msg
>
> Is that by design?

I would probably call it an unintended design that now has long been established that changing it may break people's existing setups rather badly.

Especially pre-commit hooks that look for and prevent common mistakes from happening for individual developers may not want to run, when you are pulling in other people's work that already has the mess they created. Such problems are often either too late to fix or you are in no position to reject their pull requests. So you would break _my_ workflow (and others who play similar roles as me, making changes themselves and merging others work) if you did such a change.

You _could_ add pre-merge to introduce it as a new feature. For people who want to apply the same check for merges and individual commits (e.g. those who never merge other's work), pre-merge can just invoke pre-commit.

Jay Soffian· Aug 1, 2010, 23:27 UTC · re: Junio C Hamano · lore

Re: hooks not fired by a merge's auto-commit

On Thu, Jul 29, 2010 at 12:50 PM, Junio C Hamano <gitster@pobox.com> wrote:
Show 24 quoted lines
> Richard Bronosky <Richard@Bronosky.com> writes:
>
>> Using git 1.7.1 it seems that a merge (more specifically the
>> auto-commit) does not fire any of the following hooks:
>> pre-commit  prepare-commit-msg commit-msg
>>
>> Is that by design?
>
> I would probably call it an unintended design that now has long been
> established that changing it may break people's existing setups rather
> badly.
>
> Especially pre-commit hooks that look for and prevent common mistakes from
> happening for individual developers may not want to run, when you are
> pulling in other people's work that already has the mess they created.
> Such problems are often either too late to fix or you are in no position
> to reject their pull requests.  So you would break _my_ workflow (and
> others who play similar roles as me, making changes themselves and merging
> others work) if you did such a change.
>
> You _could_ add pre-merge to introduce it as a new feature.  For people
> who want to apply the same check for merges and individual commits
> (e.g. those who never merge other's work), pre-merge can just invoke
> pre-commit.
Also see http://thread.gmane.org/gmane.comp.version-control.git/151297/
j.

← back to recent threads