如何为Mercurial最佳地配置中央存储库/多个中央存储库?

Mar*_*rio 13 version-control mercurial dvcs tortoisehg

我是Mercurial的新手,并试图弄清楚它是否可以取代SVN.我工作的每个人都使用了SVN,CVS和VSS(颤抖),所以这可能是一个很大的变化.在阅读了它的合并和分支功能后,我一直很感兴趣,但有一些保留.

我们目前在SVN上,并有一个中央存储库.从我的阅读来看,似乎在使用Mercurial时,所有项目都没有一个中央存储库.注意:我们将每个项目视为单独的逻辑代码集或Visual Studio解决方案.它独立运行.

我们在一个中央SVN存储库中有大约60个单独的项目.在阅读了Mercurial之后,在我看来,我必须为服务器上的每个项目创建60个独立的中央存储库.问题#1:我应该为每个项目创建一个单独的存储库吗?

如果是,那么我担心配置和托管60个独立的中央Mercurial服务器.我开始认为我可以配置一个文件,但似乎每个存储库都必须使用"C:...\MyRepository.hg\hgrc"文件(Windows安装)单独配置.它似乎我必须运行60个服务器(> hg服务),我会假设在不同的端口上.问题2:如果问题1的答案是肯定的,那么每个项目应该有一个中央存储库,那么人们如何管理多个多个存储库?

最后,我没有考虑将所有历史记录和更改从一个SVN存储库移动到一堆独立的Mercurial存储库,但是会感谢那些已经完成此操作的人(或者甚至是可能的)的任何评论.

Ry4*_*ase 11

Mercurial支持"中央存储库"就好了,但它按惯例而不是命令执行.

您只需要运行一台服务器来运行所有60个存储库,而您不会使用hg serve它.相反,您从发布选项中选择一种生产质量方法.hgwebdir根据您的偏好,您可能会在Apache,Nginx或IIS后面运行.

一旦运行,您可以在您的存储库目录中hg inithg clone内部创建新的代理.在以前的雇主,我们有五个产品,每个产品都有一个"中央"存储库,每个产品有10到20个克隆用于各种团队和功能,所有产品都在一台服务器上运行.中央回购决定"什么是官方",但你会发现非官方功能雨后春笋所有的时间即兴回购.

hg serve 是两个开发人员匆忙切换一些变更集,但发布的repos需要更多的脚手架.


Tom*_*ski 6

您将为每个项目创建1个中央仓库.如果我是你,我会考虑通过窑进行托管.它包含了非常好的评论工具和Mercurial周围的网络界面,具有无限的存储库和存储空间.他们负责处理所有令人烦恼的托管和备份.我也强烈推荐Joel的Mercurial教程.