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

Gitolite, как включить файл .conf с относительным путем?

Я использую сервер 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), он не будет создавать эти репозитории.