刚刚安装了GitLab,它运行良好,但有一个例外:它默认将所有用户的存储库存储在一个目录中,如果两个用户独立尝试创建具有相同名称的项目,例如“test”,第二个用户将收到像“已经采取的路径”这样的失败。
隔离每个用户的存储库的基本方法是将它们放在带有用户名的子文件夹中,就像GitHub一样。但我不知道该怎么做。
我知道 GitLab 使用 Gitolite 来管理存储库,最后一个有一个应该允许它的功能:它被命名为“通配符用户”,在 gitolite.conf 中它看起来像这样:
@wildcard_users = user1 user2 user3
repo CREATOR/.*
C = @wildcard_users
CRW+D = CREATOR
RW = WRITERS
R = READERS
这样我们在 repo 路径中看到 CREATOR,它将被替换为用户名创建的存储库。但我认为我可以使用此功能的唯一方法是使用 gitolite-admin.git 存储库的克隆手动管理 gitolite,这扼杀了 GitLab 的整个想法,其中应该允许通过 Web 界面进行所有此类操作。