从CVS迁移到分布式版本控制(Mercurial)

时间:2011-07-13 10:36:39

标签: version-control mercurial

一些背景:我们正在处理涉及两个不同国家/地区的项目的项目,我们一直在使用CVS。没有托管CVS服务器的国家的开发人员将永远连接到远程服务器,因此我们将此系统设置为在每个国家/地区拥有2个独立的CVS服务器并具有同步作业,使其每小时左右保持同步

鉴于此,我们正在考虑迁移到分布式版本控制系统,主要是因为我们遇到了同步作业失败的问题以及对于给定文件集只有一方可以拥有writelock的限制它一次。

我们目前正在考虑使用Mercurial,所以任何人都可以帮助告诉我们:

一个。 Mercurial是否适合我们的上述用例?开发人员进行过渡有多容易,即他们仍然可以以同样的方式工作吗?等

湾Mercurial是否支持仅分支特定文件夹?

℃。我们还在版本控制中持有很多二进制文档,它们是否适合Mercurial?

d。是否支持获取特定文件的“writelock”?即我在工作时不希望其他人更新这些特定文件

谢谢!

1 个答案:

答案 0 :(得分:4)

a /和d /:是和否。是的,像Mercurial这样的DVCS非常适合分布式开发,但从本质上讲,不再有“writelock”,因为没有一个“中央服务器”会在每次修改任何内容时得到通知。
您将pull (or check incomings) regularly from the remote repo

b /不,这不是DVCS的工作方式,因为分支是no longer a copy of a directory

c /二进制文件最好保存在DVCS之外(因为它将被克隆,二进制文件会使其大小变得太快) 请参阅“How is Mercurial/Git worse than Subversion with binary files?