Phil Haack和其他人最近在推特上发表关于CodePlex's move to support Mercurial作为DVCS的消息,我认为值得一看。
作为目前在办公室使用SVN进行个人项目和TFS的人,Mercurial如何在可用性,功能和一些更好的Mercurial托管服务方面进行比较?
答案 0 :(得分:18)
就Git而言,Google最近根据他们的评价发布了一个有趣的Git和Mercurial比较:http://code.google.com/p/support/wiki/DVCSAnalysis
答案 1 :(得分:6)
与我最近在很长一段时间内再次合作的SVN相比,Mercurial非常棒。它让我感觉“为什么会有人再使用SVN”。 SVN非常好,但Mercurial确实做得更好。
对于个人项目,我会毫无疑问地转换为DVCS。它做了SVN所做的一切,但更好,更快。 “学习曲线”只是理解一些术语。
实际上,SVN和DVCS之间的区别在于每个人的系统都有一个完整的工作存储库。如果您决定使用“主服务器”,则它与您拥有的完全相同,除非它设置为通过网络连续提供服务。要同步这些,您只需发送/接收(推/拉)这些存储库之间的更改。
答案 2 :(得分:5)
关于将Mercurial与Git进行比较 - 请参阅此问题:Git and Mercurial - Compare and Contrast(以及my long answer)。
关于将Mercurial与svn进行比较 - 请参阅此问题:For home projects, can Mercurial or Git (or other DVCS) provide more advantages over Subversion?(理论上这个问题的范围有限;我在答案中写了Git vs Subversion)。
答案 3 :(得分:1)
谷歌比较中没有提到的一件事是Git看起来要快得多。 Mercurial看起来足够快(至少有小项目),但无论项目规模如何,Git都是闪电般的。
答案 4 :(得分:1)
这可能只是我,但是在使用SVN几年后,我已经使用Mercurial六个月,并且出于某种原因它也不适合我的心理模型。我确切知道我在SVN中做了什么,如果出现问题,我几乎总是知道如何修复它。从概念上讲,我对Mercurial没有任何问题 - 例如,我喜欢我拥有存储库的本地副本 - 但实际上我总是丢失东西。我认为这可能是因为SVN中的合并是一个非常大的问题,而在Hg中它是正常的方式。我想要更多地控制我的合并。在SVN中,它始终清楚哪个变更集在哪个变量集之前,但Mercurial似乎缺乏这一点。甚至TortoiseHg,在视觉上相当不错,似乎没有提供足够的机会来确切地看到合并的内容。
答案 5 :(得分:0)
SVN得到了第三方工具的大量支持,包括IDE和错误跟踪系统等,包括相当不错的TortoiseSVN。
过去大多数开发人员都使用过SVN,因此使用SVN可以让新开发人员加快团队速度。
这种事情对你有多重要,只有你能决定。