在服务器上管理大量的mercurial存储库

时间:2013-04-10 22:09:24

标签: mercurial multiple-repositories

我已经阅读过关于Mercurial中的单个中央存储库与多个存储库方法(例如these SO questions),并且非常清楚小型存储库(每个自身一个 - 包含项目)是正确的方法。

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

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


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

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

2 个答案:

答案 0 :(得分:0)

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

[web]
description=Description goes here

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

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

答案 1 :(得分: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服务批处理文件或shell脚本包装为服务运行,并且可以将其全部置于Apache Web服务器之后以管理更高的安全性。

我希望这会有所帮助