Я использую сервер Gitolite, и я думал о том, чтобы иметь 1 файл конфигурации для каждого репозитория.
А пока у меня есть файл gitolite.conf:
@php_dev = userA userB
@int_dev = userC
@lead = userD
@admin = @php_dev
repo gitolite-admin
RW+ = @admin
repo testing
RW+ = @all
include "repositories/*.conf"
И затем у меня есть файл gitolite-admin / conf / repositories / cms / admin / repoA.conf:
repo cms/admin/repoA
RW+ = @php_dev
RW = @int_dev
R = @lead
Когда я совершаю коммит, у меня появляется только следующее предупреждение:
remote: the following users have no pubkeys:
remote: userC
и это правда, у userC еще нет pubkey. (Я просто упоминаю об этом на всякий случай)
Затем я смотрю на сервер в папке / home / git / repositories /:
git@FX55TMP:~/repositories$ ls -la
total 16
drwx------ 4 git git 4096 2011-04-03 22:16 .
drwxr-xr-x 6 git git 4096 2011-04-03 22:16 ..
drwx------ 8 git git 4096 2011-04-03 23:21 gitolite-admin.git
drwx------ 7 git git 4096 2011-04-03 23:21 testing.git
Это не папка cms / admin /, которая была создана автоматически, как указано в документации, так что позвольте мне думать, что мой файл конфигурации не загружен.
Я сделал что-то не так?
Вы включаете "repositories / *. Conf", но ваш файл находится в репозиториях / cms / admin / repoA.conf. Подстановочные знаки звездочки (по крайней мере, в gitolite) не соответствуют компонентам подкаталога. Они ссылаются на подстановочный знак как на глобус в http://sitaramc.github.com/gitolite/doc/gitolite.conf.html, и обычно глобусы оболочки будут соответствовать только в том каталоге, в котором они используются.
Поскольку он не находит никаких репозиториев / *. Conf (и, следовательно, вашего repoA.conf), он не будет создавать эти репозитории.