У меня есть сценарий на клиентской машине, который добавляет необходимые параметры конфигурации в gitosis.conf на сервере. Я могу нажимать и все работает правильно.
Однако я хочу добавить ловушку после получения, чтобы при первом нажатии на репозиторий выполнялось какое-то конкретное действие. Я пытался добавить его в локальный репозиторий до первой версии (в .git / hooks), но ловушка не была передана на сервер при нажатии.
Как я могу это сделать? До первого нажатия репозитория в каталоге / srv / gitosis / repositories нет.
Git использует шаблоны для создания новых репозиториев. Не знаю, использует ли Gitorious эти же шаблоны, но стоит проверить. В моей системе они существуют в /usr/local/share/git-core/templates/hooks
.
Хуки не отправляются на сервер через git push
. В противном случае возникнет серьезная проблема безопасности: любой может отправить код, выполняемый на вашем сервере, с более высокими привилегиями.
Чтобы обойти проблему, вы можете просто скопировать ловушку в созданный каталог и запустить его вручную после первого нажатия:
GIT_DIR=. hooks/post-receive
Вам нужно будет сделать это только один раз.