Re: Documentation of post-receive hook
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Nov 17, 2017, 01:41 UTC
- Message-ID
- <xmqqpo8hu1fi.fsf@gitster.mtv.corp.google.com>
- In-Reply-To
- <1510872031.23230.7.camel@gmail.com>
Christoph Michelbach <michelbach94@gmail.com> writes:
> I think the documentation of the post-receive hook is misleading. When reading > it, it appears as though the post-receive hook is executed even when no commits > are transferred by a git push because it isn't mentioned anywhere that this is > necessary for its execution.
In other words, post-receive hook triggers only after it receives objects. A mere action of running receive-pack command does not.
> This can easily be fixed by changing > > This hook is invoked by 'git-receive-pack' on the remote repository, > which happens when a 'git push' is done on a local repository.
So the existing description is technically correct (i.e. it does correctly identify who invokes it) but lacks a more interesting and relevant information (i.e. receive-pack invokes only after receiving data).
> This hook is invoked by 'git-receive-pack' on the remote repository, > which happens when a 'git push' is done on a local repository and > successfully transfers at least 1 commit.
I am not sure "at least 1 commit" is a good phrase to use here. There are transfer that sends objects but no commit object, and the above makes it sound as if such a transfer will not trigger the hook. Would
This hook is run by 'git receive-pack' on the remote repository, after it receives objects sent by 'git push'.
be clear enough to teach readers that a no-op push that recieve-pack does not receive any object does not trigger the hook?