Как установить крючки в гитолите - PullRequest
9 голосов
/ 30 августа 2011

Я прочитал все документацию о хуках , аналогичные вопросы и много кода но я не могу отследить где ошибка в моей процедуре. Мне нужно установить простой хук в моей установке gitolite (сделанной с помощью пакета rpm в CentOS), так что вот что я сделал:

Чтобы установить gitolite (некоторое время назад):

  1. Установлен пакет rpm
  2. # su - gitolite
  3. $ gl-setup /tmp/fabio.pub (как пользователь gitolite)

Теперь для установки крючка:

  1. Создан файл примера post-update с кодом хука в ~gitolite/.gitolite/hooks/common и chmod +x на нем
  2. запустить gl-setup /tmp/fabio.pub снова, как указано

Но ничего не произошло, статус выхода из последней команды равен 0, но файл ловушек не является символической ссылкой ни в одном из хранилищ. Так что не так с моей процедурой? Я что-то пропустил?

Бонусные вопросы:

  1. Если бы я понял документ, моя процедура правильная? То есть я должен запускать gl-setup каждый раз, когда обновляю любой хук?
  2. Таким образом, я устанавливаю общие хуки в каждом репозитории при этой установке gitolite, верно? Могу ли я вручную установить ловушку в виде символической ссылки куда-либо или просто исполняемого скрипта только для данного репозитория? Должен ли я сделать это вручную в папке подключения данного хранилища? Должен ли я заботиться о конфликтах хуков (т. Е. Будет ли какой-либо пользовательский хук для одного репозитория блокировать любые другие общие хуки с тем же именем)?

Не знаю, имеет ли это значение, моя версия для гитолита 1.5.9.1.

Ответы [ 3 ]

1 голос
/ 28 июня 2014

В Gitolite v3 вы можете выбрать, куда поместить ваши хуки, редактируя LOCAL_CODE переменную в .gitolite.rc.См. Источник файла для получения дополнительных опций (например, включение пользовательских хуков для репо)

Затем вы помещаете свои хуки в указанный каталог, делаете их исполняемыми и запускаете gitolite setup --hooks-only.

0 голосов
/ 16 мая 2012

Я только что узнал, что если я скопирую мой образец хука в /usr/share/gitolite/hooks/common/, он будет обозначен символом gl-setup. Может быть, в этом пакете переменная $GL_ADMINDIR по какой-то причине не установлена. Два бонусных вопроса все еще стоят ...

0 голосов
/ 30 августа 2011

вам нужно добавить хук update.secondary в каталог, а затем повторно развернуть его с помощью gl-easyinstall.Посмотрите на крючок обновления, который поставляется с гитолитом.Вы увидите, что ближе к концу он вызывает update.secondary.Если вы предоставите это, оно будет работать.

...