使用gitosis管理大量存储库的最简单(也是最简单)方法是什么?

时间:2011-06-29 16:31:02

标签: linux git version-control gitosis

我正在使用gitosis来管理一堆私有存储库。一切都很好,我对如何添加存储库没有任何问题。问题是我们的开发人员相对较少,但存储库很多,特别是因为我们的一个项目使用了git子模块。

这意味着gitosis.conf开始变得有点笨拙,我想知道是否有任何方法可以整理它。目前我们使用类似的东西:

[group developers]
writable = repo1 repo2 repo3 (...) repo20 repo21 repo22
members = dev1 dev2

当我们想要另一个回购时,我们将它添加到可写列表的末尾。问题是,这个列表已经很难阅读,我们甚至还没有完成所有项目。我知道这是一个真正的挑剔,否则这是一个很好的设置,但我只是想知道是否有任何方便的提示或技巧分享更好的方法来组织gitosis.conf

干杯

4 个答案:

答案 0 :(得分:2)

你可以使用这样的多行:

[group developers]
writable:
 repo1
 repo2
 repo3
 (...)
 repo20
 repo21
 repo22

members:
 dev1
 dev2

要在每行使用一个项目之前显示历史记录,您可以使用git log -p --color-words

答案 1 :(得分:1)

另一个解决方案是使用您觉得更方便的语法创建自己的conf文件,并创建一个脚本将其转换为gitosis.conf文件。

然后,您可以使用通配符和正则表达式来匹配存储库名称,例如:

repo-*repo-[\d]+匹配repo-1repo-2等。

答案 2 :(得分:0)

gitosis.conf可以创建开发人员组,然后为他们分配存储库。另一种方法是配置存储库,并为每个配置存储库。

在这种情况下,我认为这些解决方案中的任何一种都不会更好。这似乎是一项艰巨的任务。所以我会问:一些开发人员访问一个站点而不是另一个站点是否真的很重要?如果没有,那么只需创建一个组,并列出所有站点:)

答案 3 :(得分:0)

gitosis不再由作者维护和支持;大多数人通常会推荐gitolite而不是更好的文档和更多功能。

只要我做广告,我不妨宣传gitslave作为git-submodules的简单替代方案,适用于所有存储库都是本地开发并且不需要紧密绑定的人(除了标签之外,主存储库和从属存储库所在的版本之间。对某些工作流程更好,对其他工作流程更糟。