Ala*_*ain 11 svn git version-control mercurial
我不知道这是否是正确的论坛.
我的公司使用CVS作为版本控制系统.我们计划转向更现代的版本控制系统.作为风险最小的解决方案,您会建议什么?
我的想法是使用Subversion但我也听到很多关于Git和Mercurial的好东西
但是,我们是一家小公司,我们不需要分布式版本控制系统.Git或Mercurial在Subversion方面有什么优势,除了它们是分布式的?
krt*_*tek 17
我们大约两周前在我的工作中从CVS迁移到Mercurial.我们是一个由6人组成的小团队.在迁移之前,只有两个人已经使用了除CVS之外的其他东西.
我负责选择新的vcs.我考虑过Git和Mercurial.
我们对CVS的一些悲痛是分支可能性差,不支持重命名,非常糟糕的冲突算法.
我从来没有考虑过SVN,因为每次我尝试在分支中使用它时,合并总是令人头痛.坦率地说,现在所有的炒作都是针对dvcs的,并且必须有一个理由;)
在Git和Mercurial之间,它更多的是个人选择.对于Mercurial来说,我心碎了,因为我发现它比Git更容易学习,并且更少"真正的大项目"导向.
即使你说"除了它们是分发的事实",我认为这真的是一个杀手级的功能.DVCS允许一些非常整洁的东西,它在开始时可能看起来不太有用,但是一旦你使用它们,你就离不开;)
团队中的两个人对这一变化并不满意.但是通过一些幻灯片对整个团队进行了两个小时的解释,一切都进展顺利.
当然他们有时会问我一个问题,但自迁移以来我们没有遇到任何实际问题.关于合并工作目录中的更改方式的一些小误解.没有在几分钟内解决的事情.
我想我可以说,在短短两周内,每一个人都至少和以前一样富有成效并对新工具充满信心.现在我们可以使用功能分支而不用担心合并来了:)
https://www.mercurial-scm.org/wiki/RepositoryConversion#CVS
官方维基上列出了从CVS迁移到Mercurial的不同方法.我测试了转换扩展和最后使用的cvs2hg.
Tailor扩展,hg-cvs-import,fromcvs似乎是旧代码,不再维护.
Convert扩展在一个简单的存储库上工作得很好,但由于我们的CVS存储库非常大并且有一些非常奇怪的分支,扩展无法正确导入所有历史记录.HEAD是正确的,但有些分支丢失了.
所以最后的选择是cvs2hg.实际上它是cvs2svn的新后端,它转换为Mercurial而不是Subersion.
自述文件中提供的"快速入门"方法与所有分支机构一起开箱即用.但最后我使用选项文件添加一些用户映射并修剪一些错误的提交或不需要的分支.
随文件提供的选项文件被很好地评论,您将很难配置它,因为它适合您.
有关信息,在初始转换后,我用了转换扩展做从产生的Mercurial库的一些子项目提取到另一个Mercurial库,如解释在这里.
编辑:伟大的链接 - http://whygitisbetterthanx.com/
================================================== ========
是的,事实上我们刚刚从SVN转移到Mercurial.
除了分布式的东西,Mercurial和GIT比SVN快很多,并且repo在ever文件夹中也没有烦人的.SVN文件夹.更不用说合并工作更好了!事实上你也可以将你的仓库存储在任何共享驱动器上(不需要在服务器上安装东西,对于Mercurial而言)
更多阅读
http://thinkvitamin.com/code/why-you-should-switch-from-subversion-to-git/
http://techblog.floorplanner.com/2008/12/09/git-vs-svn-for-bosses/
最后是GIT和Mercurial
http://gitvsmercurial.com/ - 这个网站现在看起来已经死了:(