Назад | Перейти на главную страницу

Крючок после приема Gitosis перед первым толчком

У меня есть сценарий на клиентской машине, который добавляет необходимые параметры конфигурации в gitosis.conf на сервере. Я могу нажимать и все работает правильно.

Однако я хочу добавить ловушку после получения, чтобы при первом нажатии на репозиторий выполнялось какое-то конкретное действие. Я пытался добавить его в локальный репозиторий до первой версии (в .git / hooks), но ловушка не была передана на сервер при нажатии.

Как я могу это сделать? До первого нажатия репозитория в каталоге / srv / gitosis / repositories нет.

Git использует шаблоны для создания новых репозиториев. Не знаю, использует ли Gitorious эти же шаблоны, но стоит проверить. В моей системе они существуют в /usr/local/share/git-core/templates/hooks.

Хуки не отправляются на сервер через git push. В противном случае возникнет серьезная проблема безопасности: любой может отправить код, выполняемый на вашем сервере, с более высокими привилегиями.

Чтобы обойти проблему, вы можете просто скопировать ловушку в созданный каталог и запустить его вручную после первого нажатия:

GIT_DIR=. hooks/post-receive

Вам нужно будет сделать это только один раз.