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



背景介绍:我们正在做一个项目,涉及到两个不同国家的项目,我们一直在使用CVS。没有托管CVS服务器的国家的开发人员将需要很长时间才能连接到远程服务器,所以我们设置了这个系统,在每个国家有2个独立的CVS服务器,并有一个同步作业,使它们每小时左右同步一次。

考虑到这一点,我们正在考虑迁移到分布式版本控制系统,主要是因为我们一直遇到同步作业失败的问题,以及对于给定的一组文件,一次只能有一侧有写锁的限制。

我们目前正在考虑使用Mercurial来实现这个目的,所以谁能告诉我们:

。Mercurial是否适合我们上面的用例?对于开发者来说,进行这种转变有多容易?也就是说,他们还能以同样的方式工作吗?等

b。Mercurial是否支持只对特定文件夹进行分支?

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

d。是否支持获取特定文件的"写锁"?例如,我不希望其他人在我处理这些特定文件时更新它们

谢谢!

a/and d/: yes and no。是的,像Mercurial这样的DVCS非常适合分布式开发,但从本质上讲,没有更多的"写锁",因为没有一个"中央服务器",每次你想修改任何东西时都会通知。
您将定期从远程repo提取(或检查传入)。

b/不,这不是DVCS的工作方式,因为分支不再是目录的副本。

c/二进制文件最好保存在DVCS之外(因为它会被克隆,二进制文件会使它的大小增长得太快)
参见"使用二进制文件的Mercurial/Git为何比Subversion更糟糕?"

最新更新