# Hook after pull ?

5 messages from 2007-07-11 to 2007-07-11. Participants: Claudio Scordino, Alex Riesen, Junio C Hamano.
Thread: https://gitlist.dev/t/8984

## Claudio Scordino, 2007-07-11 14:41

Subject: Hook after pull ?
Message-ID: <4694EC0F.10003@gmail.com>
URL: https://gitlist.dev/e/4694EC0F.10003%40gmail.com

```
Hi all.

Does any hook being called after the pull (that means, after fetch or merge) ?

If no, does exist any easy way of creating such hook ?

Many thanks in advance,

           Claudio

```

## Alex Riesen, 2007-07-11 14:51

Subject: Re: Hook after pull ?
Message-ID: <81b0412b0707110751i7947ac5bv819e1c2de4e94621@mail.gmail.com>
URL: https://gitlist.dev/e/81b0412b0707110751i7947ac5bv819e1c2de4e94621%40mail.gmail.com
In-Reply-To: <4694EC0F.10003@gmail.com>

```
On 7/11/07, Claudio Scordino <cloud.of.andor@gmail.com> wrote:
> Hi all.
>
> Does any hook being called after the pull (that means, after fetch or merge) ?
>

There are some

> If no, does exist any easy way of creating such hook ?
>

What for? What do you want to do?

```

## Claudio Scordino, 2007-07-11 15:29

Subject: Re: Hook after pull ?
Message-ID: <4694F74F.8050908@gmail.com>
URL: https://gitlist.dev/e/4694F74F.8050908%40gmail.com
In-Reply-To: <81b0412b0707110751i7947ac5bv819e1c2de4e94621@mail.gmail.com>

```
Alex Riesen wrote:
> On 7/11/07, Claudio Scordino <cloud.of.andor@gmail.com> wrote:
>> Hi all.
>>
>> Does any hook being called after the pull (that means, after fetch or 
>> merge) ?
>>
> 
> There are some

Which one of those inside the .git/hooks directory is called afret a pull?

> 
>> If no, does exist any easy way of creating such hook ?
>>
> 
> What for? What do you want to do?
> 
I just need my script to be called after a pull. My script just sends an email 
saying that the repository has been pulled (I already did it for the push).

Thanks,

         Claudio

```

## Alex Riesen, 2007-07-11 18:33

Subject: Re: Hook after pull ?
Message-ID: <20070711183341.GA2798@steel.home>
URL: https://gitlist.dev/e/20070711183341.GA2798%40steel.home
In-Reply-To: <4694F74F.8050908@gmail.com>

```
Claudio Scordino, Wed, Jul 11, 2007 17:29:19 +0200:
> >>If no, does exist any easy way of creating such hook ?
> >
> >What for? What do you want to do?
> >
> I just need my script to be called after a pull. My script just sends an 
> email saying that the repository has been pulled (I already did it for the 
> push).

Ach, on _remote_ repo. Where it is _pulled_from_.
There are none. You can catch log output of git-daemon, but...
Isn't it a bit extreme? A fetch (part of a pull) is *very* common
operation, sometime you'll get a *real* lot of mail.

P.S. BTW, there is no hooks for pull in local (where it is pulled
into): it is not needed, you already control everything what happens.
But it is not your situation, as far I understand.

```

## Junio C Hamano, 2007-07-11 21:26

Subject: Re: Hook after pull ?
Message-ID: <7vk5t63a4l.fsf@assigned-by-dhcp.cox.net>
URL: https://gitlist.dev/e/7vk5t63a4l.fsf%40assigned-by-dhcp.cox.net
In-Reply-To: <20070711183341.GA2798@steel.home>

```
Alex Riesen <raa.lkml@gmail.com> writes:

> Claudio Scordino, Wed, Jul 11, 2007 17:29:19 +0200:
>> >>If no, does exist any easy way of creating such hook ?
>> >
>> >What for? What do you want to do?
>> >
>> I just need my script to be called after a pull. My script just sends an 
>> email saying that the repository has been pulled (I already did it for the 
>> push).
>
> Ach, on _remote_ repo. Where it is _pulled_from_.
> There are none. You can catch log output of git-daemon, but...
> Isn't it a bit extreme? A fetch (part of a pull) is *very* common
> operation, sometime you'll get a *real* lot of mail.
>
> P.S. BTW, there is no hooks for pull in local (where it is pulled
> into): it is not needed, you already control everything what happens.

I am not sure I am reading this exchange correctly, but I think
Claudio wants to say

	$ git pull repo.or.cz:somebody/project.git/ the-branch 

and have it automatically send e-mail to the somebody (obviously
the hook script needs to have a mapping from the repository to
whom to notify).  As the daemon side cannot tell if the local is
only fetching (and possibly discarding the result) or pulling
(resulting in a merge), I do not think it is reasonable to do
the hooking on the remote side.  It has to be done on the local
if ever.

As you said, the local side has all the control, so in the
strictest sense there is no need for post-* hook, but we do
support a few hooks for local operations, such as post-commit.

(Sam Vilain CC'ed as he wanted to have hooks during and after a
merge).

I suspect that a post merge hook (that also is called in
fast-forward case) would be a good thing to have if people would
want to do this kind of thing often.  The hook most likely wants
to get the ORIG_HEAD and the updated HEAD as parameters, and can
act differently based on the nature of the merge (e.g. was it
fast-forward, was it a merge between the commits made by the
same committer as myself, etc.)

```
