2011-06-29 61 views
2

我正在使用gitosis来管理一堆私人存储库。一切都很好,我也没有问题如何添加存储库。问题是我们的开发人员相对较少,但存储库很多,特别是因为我们的一个项目使用git子模块的情况非常严重。使用gitosis管理大量存储库的最简单(和最简单的)方法是什么?

这意味着gitosis.conf的开始变得有点笨拙,我想知道是否有任何的方式来整理一下。目前,我们使用这样的:

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

而当我们想另一个回购,我们把它添加到可写列表的末尾。问题是,这份名单已经越来越难读了,我们甚至还没有完成所有的项目。我知道这是真实的吹毛求疵的是什么,否则一个很好的设置,但我只是想知道如果任何人有任何方便的提示或提示,以分享更好的方式来组织gitosis.conf的

干杯

回答

2

您可以使用多条线路是这样的:

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

members: 
dev1 
dev2 

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

+0

谢谢,这正是我所追求的。欢呼 – Addsy

0

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

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

+0

呀,说实话,我没有疯大惊小怪的权限。我们需要知道谁改变了什么,但我们非常开放,并且谁也不能看到或者甚至不承诺特定的项目都没有问题。这更多的是我们在gitosis.conf中列出的方式 - 全部在一行上。我更多地询问像通配符这样的事情的可能性,闯入几行,类似的事情。对不起,如果这不是太清楚 – Addsy

1

另一种解决方案是创建你找到更方便的语法自己的conf文件,并创建一个脚本来变换成gitosis.conf的文件。

然后,你可以使用通配符和正则表达式匹配库的名字,如:

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

+0

感谢您的建议。我认为上面提到的方法之一可能已经足够了,但我会牢记这个想法,因为如果前一个选项开始变得笨拙,它似乎可能会有用。干杯 – Addsy

0

Gitosis的不再保持和作者的支持;大多数人通常会推荐使用gitolite而不是它具有更好的文档和更多功能。

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

+1

gitolite是整洁,但这应该是一个评论。 – Tobu

+0

为此欢呼。我曾见过gitolite,但我现在不想干涉已经工作的设置 - 只是想做一点整理。欢迎在gitslave上进行单挑。有一个快速浏览,看起来很有趣,所以我会铭记在心 – Addsy

相关问题