# commit-msg hook does not run on merge with --no-ff option

7 messages from 2017-09-11 to 2017-09-20. Participants: Joseph Dunne, Stefan Beller, Kaartic Sivaraam, Junio C Hamano.
Thread: https://gitlist.dev/t/46735

## Joseph Dunne, 2017-09-11 14:34

Subject: commit-msg hook does not run on merge with --no-ff option
Message-ID: <CAC7pkbQhwLFQQjqBwaW=0j4iKFcLdKDucCMck-PsSAeCs0rqpw@mail.gmail.com>
URL: https://gitlist.dev/e/CAC7pkbQhwLFQQjqBwaW%3D0j4iKFcLdKDucCMck-PsSAeCs0rqpw%40mail.gmail.com

```
I’ve globally configured git master branch to use the –no-ff option in
my .gitconfig file:
[branch "master"]
                mergeoptions = “-–no-ff”

When I merge a branch into master that would normally be a fast
forward merge, the merge happens fine and follows the option –no-ff,
creating a new commit, however my commit-msg hook does not run.  (The
commit-msg hook works fine in all other commits / merges.)

I tried changing my commit-msg hook to just be “exit 1” and it doesn’t
abort a no-ff merge, so I’m certain the hook is just not being
executed.

```

## Stefan Beller, 2017-09-11 17:25

Subject: Re: commit-msg hook does not run on merge with --no-ff option
Message-ID: <CAGZ79kZLvAgSgckQ7Doo_E7aY+L6xtv2Kq0xbO6GSZL5ZAb7TQ@mail.gmail.com>
URL: https://gitlist.dev/e/CAGZ79kZLvAgSgckQ7Doo_E7aY%2BL6xtv2Kq0xbO6GSZL5ZAb7TQ%40mail.gmail.com
In-Reply-To: <CAC7pkbQhwLFQQjqBwaW=0j4iKFcLdKDucCMck-PsSAeCs0rqpw@mail.gmail.com>

```
On Mon, Sep 11, 2017 at 7:34 AM, Joseph Dunne <jdunne525@gmail.com> wrote:

> When I merge ... however my commit-msg hook does not run.  (The
> commit-msg hook works fine in all other commits / merges.)

When using git-commit, but not git-merge?

See the discussion of patches at
https://public-inbox.org/git/20170907220429.31312-1-sbeller@google.com/

```

## Joseph Dunne, 2017-09-12 18:24

Subject: Re: commit-msg hook does not run on merge with --no-ff option
Message-ID: <CAC7pkbQwn8pvLLCtjsEkKo7PJozycdDbnq2XLWbmOm_KHEjU-w@mail.gmail.com>
URL: https://gitlist.dev/e/CAC7pkbQwn8pvLLCtjsEkKo7PJozycdDbnq2XLWbmOm_KHEjU-w%40mail.gmail.com
In-Reply-To: <CAGZ79kZLvAgSgckQ7Doo_E7aY+L6xtv2Kq0xbO6GSZL5ZAb7TQ@mail.gmail.com>

```
Sorry I don't understand your question.  The commit-msg hook runs
properly in all cases except when I perform a merge with the --no-ff
option enabled.

On Mon, Sep 11, 2017 at 12:25 PM, Stefan Beller <sbeller@google.com> wrote:
> On Mon, Sep 11, 2017 at 7:34 AM, Joseph Dunne <jdunne525@gmail.com> wrote:
>
>> When I merge ... however my commit-msg hook does not run.  (The
>> commit-msg hook works fine in all other commits / merges.)
>
> When using git-commit, but not git-merge?
>
> See the discussion of patches at
> https://public-inbox.org/git/20170907220429.31312-1-sbeller@google.com/

```

## Kaartic Sivaraam, 2017-09-15 01:50

Subject: Re: commit-msg hook does not run on merge with --no-ff option
Message-ID: <1505440235.1862.9.camel@gmail.com>
URL: https://gitlist.dev/e/1505440235.1862.9.camel%40gmail.com
In-Reply-To: <CAC7pkbQwn8pvLLCtjsEkKo7PJozycdDbnq2XLWbmOm_KHEjU-w@mail.gmail.com>

```
On Tue, 2017-09-12 at 13:24 -0500, Joseph Dunne wrote:
> Sorry I don't understand your question.  The commit-msg hook runs
> properly in all cases except when I perform a merge with the --no-ff
> option enabled.
> 

It's working just as the documentation says it does (emphasis mine),


    This hook is invoked by **git commit**, and can be bypassed with the --no-verify option.
    It takes a single parameter, the name of the file that holds the proposed commit log
    message. Exiting with a non-zero status causes the git commit to abort.


    It says that 'commit-msg' hook is invoked only for a "commit" (it's not
    a MERGE-msg hook you see, it doesn't exist anyway). In case you see the
    hook getting invoked for a merge then that's an issue, I guess. For
    what kind of merges do you see the 'commit-msg' hook getting invoked? 

        -- 
        Kaartic

```

## Joseph Dunne, 2017-09-15 13:19

Subject: Re: commit-msg hook does not run on merge with --no-ff option
Message-ID: <CAC7pkbREUZxG0drWVpV43TFv7AVi2agJkRtXZgNsLErk3iBc-w@mail.gmail.com>
URL: https://gitlist.dev/e/CAC7pkbREUZxG0drWVpV43TFv7AVi2agJkRtXZgNsLErk3iBc-w%40mail.gmail.com
In-Reply-To: <1505440235.1862.9.camel@gmail.com>

```
Valid point.  The way my project is set up I always get a conflict on
merge operations, so technically all my merges (except fast forward
merges) end with a git-commit, which of course runs the commit-msg
hook.  It seems everything is working as designed.  Shame there isn't
a merge-msg hook.

It seems I have no choice but to work around this issue.  Thanks for your help.

On Thu, Sep 14, 2017 at 8:50 PM, Kaartic Sivaraam
<kaarticsivaraam91196@gmail.com> wrote:
> On Tue, 2017-09-12 at 13:24 -0500, Joseph Dunne wrote:
>> Sorry I don't understand your question.  The commit-msg hook runs
>> properly in all cases except when I perform a merge with the --no-ff
>> option enabled.
>>
>
> It's working just as the documentation says it does (emphasis mine),
>
>
>     This hook is invoked by **git commit**, and can be bypassed with the --no-verify option.
>     It takes a single parameter, the name of the file that holds the proposed commit log
>     message. Exiting with a non-zero status causes the git commit to abort.
>
>
>     It says that 'commit-msg' hook is invoked only for a "commit" (it's not
>     a MERGE-msg hook you see, it doesn't exist anyway). In case you see the
>     hook getting invoked for a merge then that's an issue, I guess. For
>     what kind of merges do you see the 'commit-msg' hook getting invoked?
>
>         --
>         Kaartic

```

## Junio C Hamano, 2017-09-15 20:53

Subject: Re: commit-msg hook does not run on merge with --no-ff option
Message-ID: <xmqq7ewzwuo6.fsf@gitster.mtv.corp.google.com>
URL: https://gitlist.dev/e/xmqq7ewzwuo6.fsf%40gitster.mtv.corp.google.com
In-Reply-To: <CAC7pkbREUZxG0drWVpV43TFv7AVi2agJkRtXZgNsLErk3iBc-w@mail.gmail.com>

```
Joseph Dunne <jdunne525@gmail.com> writes:

> Valid point.  The way my project is set up I always get a conflict on
> merge operations, so technically all my merges (except fast forward
> merges) end with a git-commit, which of course runs the commit-msg
> hook.  It seems everything is working as designed.  Shame there isn't
> a merge-msg hook.
>
> It seems I have no choice but to work around this issue.  Thanks for your help.

I think Stefan wanted to say in his message upthread that with an
update still in flight you may not need a workaround.

```

## Joseph Dunne, 2017-09-20 20:09

Subject: Re: commit-msg hook does not run on merge with --no-ff option
Message-ID: <CAC7pkbTU9Ts01p8kDJXqzk2yy=8Y-8dmkGhAkJ96m4D5zCzdRQ@mail.gmail.com>
URL: https://gitlist.dev/e/CAC7pkbTU9Ts01p8kDJXqzk2yy%3D8Y-8dmkGhAkJ96m4D5zCzdRQ%40mail.gmail.com
In-Reply-To: <xmqq7ewzwuo6.fsf@gitster.mtv.corp.google.com>

```
For anyone who stumbles upon this in the future, I found a very simple
workaround to force the commit hooks (including commit-msg) to run
following a merge operation:  Simply create a post-merge hook which
triggers an amended commit with no changes.

post-merge hook:

#!/bin/bash
git commit --amend -C HEAD

On Fri, Sep 15, 2017 at 3:53 PM, Junio C Hamano <gitster@pobox.com> wrote:
> Joseph Dunne <jdunne525@gmail.com> writes:
>
>> Valid point.  The way my project is set up I always get a conflict on
>> merge operations, so technically all my merges (except fast forward
>> merges) end with a git-commit, which of course runs the commit-msg
>> hook.  It seems everything is working as designed.  Shame there isn't
>> a merge-msg hook.
>>
>> It seems I have no choice but to work around this issue.  Thanks for your help.
>
> I think Stefan wanted to say in his message upthread that with an
> update still in flight you may not need a workaround.

```
