threads / discuss / 28879

hook for rebase --continue

Subject: hook for rebase --continue

## tl;dr

5 messages between Nov 7, 2011 and Nov 15, 2011.

replies: 4people: 3as markdown or json

Matt Graham· Nov 7, 2011, 19:42 UTC · lore

Hi, I did some testing and it appears that during a rebase, if I resolve a conflict and call git rebase --continue, the pre-commit hook doesn't run. This means that if I don't resolve the conflict correctly, our check for invalid syntax doesn't get run and creates the risk that someone could push code with invalid syntax, not realizing that the check didn't run.

Does anyone else share my expectation that the pre-commit hook should run during a rebase? Or at least for the first commit following a rebase conflict?

If not, is there another hook that is triggered by a rebase that I should be using instead?

Thanks, Matt

Martin Fick· Nov 7, 2011, 19:46 UTC · re: Matt Graham · lore

Re: hook for rebase --continue

On Monday, November 07, 2011 12:42:32 pm Matt Graham wrote:
> Does anyone else share my expectation that the pre-commit
> hook should run during a rebase? Or at least for the
> first commit following a rebase conflict?

I have had the same concern. We use a change-id hook for Gerrit development, and it adds a footer line to commit messages. If during a rebase, it is accidentally removed, the hook does not get run and does not re-add it,

-Martin
-- 
Employee of Qualcomm Innovation Center, Inc. which is a 
member of Code Aurora Forum
Neal Kreitzinger· Nov 10, 2011, 00:47 UTC · re: Matt Graham · lore

Re: hook for rebase --continue

On 11/7/2011 1:42 PM, Matt Graham wrote:
Show 14 quoted lines
> I did some testing and it appears that during a rebase, if I resolve
> a conflict and call git rebase --continue, the pre-commit hook
> doesn't run.  This means that if I don't resolve the conflict
> correctly, our check for invalid syntax doesn't get run and creates
> the risk that someone could push code with invalid syntax, not
> realizing that the check didn't run.
>
> Does anyone else share my expectation that the pre-commit hook
> should run during a rebase? Or at least for the first commit
> following a rebase conflict?
>
> If not, is there another hook that is triggered by a rebase that I
> should be using instead?
>

You could try creating an alias (e.g. "git rebase-continue") in your gitconfig that runs the desired validation logic and then executes git rebase. Then you would run "git rebase-continue" instead of "git rebase --continue".

v/r, neal

Neal Kreitzinger· Nov 10, 2011, 00:50 UTC · re: Neal Kreitzinger · lore

Re: hook for rebase --continue

On 11/9/2011 6:47 PM, Neal Kreitzinger wrote:
Show 20 quoted lines
> On 11/7/2011 1:42 PM, Matt Graham wrote:
>> I did some testing and it appears that during a rebase, if I resolve
>> a conflict and call git rebase --continue, the pre-commit hook
>> doesn't run. This means that if I don't resolve the conflict
>> correctly, our check for invalid syntax doesn't get run and creates
>> the risk that someone could push code with invalid syntax, not
>> realizing that the check didn't run.
>>
>> Does anyone else share my expectation that the pre-commit hook
>> should run during a rebase? Or at least for the first commit
>> following a rebase conflict?
>>
>> If not, is there another hook that is triggered by a rebase that I
>> should be using instead?
>>
> You could try creating an alias (e.g. "git rebase-continue") in your
> gitconfig that runs the desired validation logic and then executes git
> rebase --continue. Then you would run "git rebase-continue" instead of "git rebase
> --continue".
>
correction: added the --continue option in the alias example above.
--neal
Neal Kreitzinger· Nov 15, 2011, 23:28 UTC · re: Matt Graham · lore

Re: hook for rebase --continue

On 11/7/2011 1:42 PM, Matt Graham wrote:
Show 14 quoted lines
> Hi, I did some testing and it appears that during a rebase, if I
> resolve a conflict and call git rebase --continue, the pre-commit
> hook doesn't run.  This means that if I don't resolve the conflict
> correctly, our check for invalid syntax doesn't get run and creates
> the risk that someone could push code with invalid syntax, not
> realizing that the check didn't run.
>
> Does anyone else share my expectation that the pre-commit hook
> should run during a rebase? Or at least for the first commit
> following a rebase conflict?
>
> If not, is there another hook that is triggered by a rebase that I
> should be using instead?
>

I just noticed there is a post-rewrite hook in the manpage http://schacon.github.com/git/githooks.html. Maybe this does what you want.

v/r, neal

← back to recent threads