gitolite run hook при создании "дикого" хранилища
Мне нужно запустить скрипт, который сгенерирует файл projects.list, когда один из членов моей команды создаст новый репозиторий.
Мы разрабатываем прошивку, которая ветвится от "master", но ветви никогда не будут объединены с master. Поскольку слияния никогда не произойдет, я решил создать репозитории для каждой отдельной версии прошивки. Я разработал скрипт bash, который создаст для меня файл projects.list.
find repositories/ -iname "*.git" -type d | grep --invert-match "gitolite-admin" | sed 's/repositories\///g' > /srv/git/projects.list
Теперь у меня проблемы с созданием хука для вызова этого скрипта.
Я пытался заставить gitolite создать файл для меня, но мне не повезло с этим. Любая помощь приветствуется. Спасибо!
Ответ
В config/gitolite.conf я сделал так, чтобы repo def выглядел так:
repo Firmware/[a-zA-Z0-9].*/[a-zA-Z0-9].*
C = @all
RW+ = @all
R = gitweb
config gitweb.owner = Repo Manager
1 ответ
Как упоминалось в Gitolite "взаимодействие с внешними инструментами",
Список читаемых gitweb репозиториев записывается в файл, имя которого задается
rc
файловая переменнаяGITWEB_PROJECTS_LIST
,
Значение по умолчанию для этой переменной, если оно не указано или не указано, равно$HOME/projects.list
,
Так что, если вы не сделаете свой репо читабельным для специального пользователя gitweb
, Gitolite не будет генерировать / завершать $HOME/projects.list
для тебя.