2010-01-24 55 views
17

随着Phil Haack和其他人最近在关注CodePlex's move to support Mercurial作为DVCS,我认为这可能值得一看。Mercurial如何对付GIT和SVN?

作为目前在办公室使用SVN进行个人项目和TFS的人员,Mercurial在可用性,功能以及哪些更好的Mercurial托管服务方面进行了比较?

+0

这应该有一个'git'标签。 – 2010-01-24 08:51:27

+0

@Chad Okere - 够公平的。完成。 – 2010-01-24 09:00:07

+0

没有足够的标签来完全描述这个问题! D: – Spoike 2010-01-24 09:03:11

回答

18

至于比较的Git,谷歌最近发布的基于他们的评价Git和水银的一个有趣的比较:在谷歌相比,没有提到http://code.google.com/p/support/wiki/DVCSAnalysis

+0

完美。这是我需要的一切。感谢您的提示,@Dave Ward。 – 2010-01-24 08:25:21

+4

请注意,此分析已过时,例如Git不久前收购了对“智能”HTTP传输的支持。 – 2010-01-24 18:24:45

+0

一些更新的东西已经过时:mercurial现在也已经发生了变形(不再是git的优势); git-gc现在有点自动化(不再是一个有意义的hg优势),并且windows支持也不太可怕(不确定这仍然是hg的优势)。当然,微软已经宣布他们有意将Git支持集成到他们的TFS产品线中。 – 2013-02-28 13:56:46

1

一件事是,Git的似乎是要快得多。 Mercurial看起来足够快(至少有小项目),但Git无论项目规模大小都快如闪电。

+0

但请记住,你正在比较闪电和超音速飞机。 git唯一真正的问题是在Linux以外的其他平台上支持工具,但我想这最终会改变。 – Esko 2010-01-24 08:57:59

+2

事实上,当项目的检出尺寸开始向GB方向蔓延时,Git和Mercurial都会变得非常慢。所以尺寸很重要。 – Spoike 2010-01-24 09:05:12

+3

TortoiseGit是一个非常好的用于Windows的GUI工具。我猜其他平台的用户大多对命令行工具感到满意,可能与图形树可视化软件(如gitg)结合使用。 – Tronic 2010-01-24 09:30:44

0

SVN有很多第三方工具的支持,包括IDE和错误跟踪系统等,包括相当不错的TortoiseSVN

大多数开发人员过去都使用过SVN,因此使用SVN可以让新开发人员加快开发速度。

这种事对你来说有多重要,只有你自己可以决定。

6

与SVN相比,我最近在一段时间后再次与之合作,Mercurial令人惊叹。它给了我一个“为什么会有人使用SVN”的感觉。 SVN非常好,但是Mercurial确实能够更好地工作。

对于个人项目,我会毫无疑问地切换到DVCS。它完成了SVN所做的一切,但更好,更快。 “学习曲线”只是理解一些术语。

实际上,SVN和DVCS之间的区别在于,每个人在其系统上都有一个完整的工作存储库。如果您决定拥有“主服务器”,则它与您所拥有的完全相同,除非它设置为通过网络连续提供服务。要同步这些,你所做的就是发送/接收(推/拉)这些存储库之间的变化。

1

这可能只是我,但我已经使用了Mercurial六个月,经过几年专门使用SVN,出于某种原因,它也不符合我的心智模型。我确切知道我在SVN中做了什么,如果出现问题,我几乎总是知道如何解决它。从概念上讲,我对Mercurial没有任何问题 - 例如,我有一个本地版本库 - 但实际上我总是失去一些东西。我认为这可能是因为在SVN中合并是一件大事,而在Hg中这是事情的正常方式。我想更多地控制我的合并。在SVN中,总是清楚哪个变化集先于哪个,但Mercurial似乎缺乏这个。即使是TortoiseHg,这在视觉上也不错,但似乎并没有提供足够的机会来确切地看到合并的内容。