Setup:
I have master repo on Windows machine and a clone on another windows machine. Inside my update hook, I have added ipconfig to print IP address. I was expecting to see the master's IP address, but it actually prints out clone's.
This makes me think that server-side git hooks ( pre-receive, update and post-receive ) are actually downloaded and run locally on the client/clone machine that is doing actual push.
If this is correct, then if puts a lot of restrictions on how the hook should be written. e.g. a hook written in perl shall need all clients to have perl to execute this hook locally.
Can someone confirm if this is the behaviour?