O Git usa modelos para configurar novos repositórios. Eu não sei se o Gitorious usa esses mesmos modelos, mas vale a pena conferir. No meu sistema eles existem em /usr/local/share/git-core/templates/hooks
.
Eu tenho um script na máquina cliente que adiciona o material de configuração necessário ao gitosis.conf no servidor. Eu sou capaz de empurrar e tudo funciona corretamente.
No entanto, desejo adicionar um gancho pós-recebimento para que, quando o repositório for primeiramente enviado, ocorra alguma ação específica. Eu tentei adicioná-lo ao repositório local antes da primeira versão (em .git / hooks), mas o hook não foi transferido para o servidor em um push.
Como posso fazer isso? Não há repositório no diretório / srv / gitosis / repositories até o envio inicial.
Ganchos não são enviados ao servidor via git push
. Caso contrário, surgiria um grave problema de segurança: qualquer um pode enviar o código executado em seu servidor com privilégios mais altos.
Para contornar o problema, você pode simplesmente copiar o gancho no diretório criado e executá-lo manualmente após o primeiro envio:
GIT_DIR=. hooks/post-receive
Você terá que fazer isso apenas uma vez.