I have a post-receive hook that is running as user 'git'. I have a virtualenv /python/ve//bin/activate that is readable by git. Running:
source /python/ve/<name>/bin/activate
works fine for a user in the git group.
When it runs as a post-receive hook after a push, I get the error "source: not found".
I'm not sure where else to look - any hints much appreciated.
This is something of a guess, since you haven't quoted your complete post-receive
hook, but I suspect that you don't have a shebang line pointing to /bin/bash
at the top. Your post-receive
hook should begin:
#!/bin/bash
I suspect this because if I run a strict Bourne shell, like dash
, I get the same error when trying to source anything with source
.
来源:https://stackoverflow.com/questions/5829784/why-cant-my-post-receive-hook-run-a-virtualenv-source-command