Re: Documentation of post-receive hook
From: Junio C Hamano <hidden>
Date: 2017-11-17 01:41:30
Christoph Michelbach [off-list ref] 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?