"Josh England" [off-list ref] writes:
In messsing around with hooks, I've discovered that not all hooks are
run in the same environment. In particular, the current working
directory in the post-receive hook (maybe others as well) is the GIT_DIR
(.git) directory, instead of the root of the working tree (as in
pre-commit).
It is not even "instead of"; that's the only sane thing to do
for post-receive, which is in response to git-push and usually
used for a bare repository, i.e. without any work tree.