我正在运行 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
确实如此,用户 C 还没有公钥。(我只是想提一下,以防万一)
然后我在服务器上查看 /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/ 文件夹,所以我认为我的配置文件没有加载。
我是不是做错什么了?
答案1
您包含了“repositories/*.conf”,但您的文件位于 repositories/cms/admin/repoA.conf 中。星号通配符(至少在 gitolite 中)不会匹配子目录组件。它们将通配符称为 globhttp://sitaramc.github.com/gitolite/doc/gitolite.conf.html,并且通常 shell glob 只会在它们使用的目录内匹配。
由于它找不到任何 repositories/*.conf(因此也找不到您的 repoA.conf),所以它不会创建这些存储库。