2010-01-24 51 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,這在視覺上也不錯,但似乎並沒有提供足夠的機會來確切地看到合併的內容。