在同一台服务器上提供多个mercurial存储库

SPI*_*984 2 mercurial

我有一个问题.我们目前正在尝试为我们的开发选择合适的结构.我们要努力实现的目标如下:

  • 我们在Mercurial有一个中央存储库 - 我们称之为A.
  • Mercurial中还有一些存储库,它们是A的存储库 - 存储库B,C和D(对于每个开发人员).
  • 这些存储库中的每一个都有一个钩子将它绑定到Hudson.
  • Hudson有几个工作(对于每个开发人员) - 它生成一个构建并将其部署在目录中的测试服务器上,用于推动它自己的存储库的具体开发人员.
  • 因此,每个开发人员都可以使用自己的存储库,并在一周内只推送一次中央存储库.

问题是如何在单个服务器上托管所有这些存储库.我想要的东西:

通过这种方式,我可以在Hudson中为每个存储库创建脚本,这样一个开发人员的工作就不会以任何方式影响另一个,EAR的测试也不会重叠,因为每个开发人员都会生成并部署自己的EAR.

UPD.感谢大家的回答.现在我们使用以下结构.

  • 中央存储库使用hg serve命令托管在8000端口.
  • 至于个人开发人员存储库,它们是通过从中央存储库克隆然后在hgweb.cgi的帮助下托管在8001端口上创建的(观看本教程).

Pau*_*l S 5

和hgwebdir.cgi一样,值得一看Rhodecode.它是一个支持pull和push的mercurial的web应用程序,但也可以在服务器上执行fork管理(比如bitbucket或git-hub).它也非常适合探索变更集或文件,但是对于你而言,它是开发人员能够在服务器上设置自己的分叉,我认为这将是主要的卖点.

比hgwebdir重一点.安装有点复杂(它用Pylons编写,所以它是fcgi或wsgi),但它仍然非常简单.我有一个小时的测试服务器.