0

我已经阅读了 Mercurial 中的单个中央存储库与多个存储库方法(例如这些 SO questions),很明显小型存储库(每个独立项目一个)是正确的方法。

但这意味着大量的存储库,其中“大量”我的意思是很难跟踪其中包含什么。我在一个小团队(< 7 个开发人员)中,我们从事的项目数量、不同的分支/版本等,我可以看到我们有 50 或 60 个存储库。

是否有任何工具可以帮助编目/管理具有数十或数百个存储库的 Mercurial 服务器?


编辑:我同时使用SCM-Manager(在我们的防火墙内)和bitbucket(在我们的防火墙外)。哦,当然,每个开发人员都会有他/她自己的一堆本地克隆。

问题不在于如何将大量的 mercurial 存储库放在服务器上,而在于如何跟踪它们。

4

2 回答 2

0

正如@Steve 所建议的,网络方法非常好。我以这种方式管理 50 多个存储库。

我有一个hg serve在批处理文件中运行的进程:

hg serve --prefix mercurial --address my-hg-server --port 8000 --web-conf hg-web.conf --accesslog hg-access.log --errorlog hg-error.log

hg-web.conf看起来像这样:

[web]
style = default
allow_push = *
push_ssl = false

[paths]
repos1 = \\hg-repos-server\repos1
repos2 = \\hg-repos-server\repos2
....

然后,通过访问:

http : // my-hg-server:8000/mercurial

我得到一个包含指向我所有存储库的链接的页面。用户可以复制和克隆链接。

这是一个非常简单的设置,非常适合我们。

您可以包装 hg serve 批处理文件或 shell 脚本以作为服务运行,您可以将这一切都放在 Apache Web 服务器后面以管理更多安全性。

我希望这有帮助

于 2013-04-11T10:01:36.830 回答
0

您如何为这些存储库提供服务?如果您使用,那么最简单的方法是向服务器上的文件hgweb添加描述。hgrc您可以在如下[web]部分执行此操作:

[web]
description=Description goes here

这将描述添加到基于 Web 的界面中,这对我们来说很好(我们有大约 30 个存储库)

除此之外,我认为您拥有的大多数选项都涉及选择包含此功能的基于 Web 的发布方法,例如 Rhodecode。其他发布方法可在此处获得。

于 2013-04-11T08:59:28.500 回答