Mercurial是跨平台的分散式版本控制軟件,主要由Python語言實現,但也包含用C語言實現的二進制比較工具。Mercurial一開始的主要執行平台是Linux,現在Mercurial已經移植到Windows、Mac OS X和大多數的類Unix系統中。Mercurial主要由命令列程式組成,現在也有了圖形化使用者介面。對Mercurial的所有操作都由用不同的關鍵字作為參數呼叫程式「hg」來實現,Hg是參考水銀的化學符號而取的名字。
Mercurial的主要設計目標包括高效能、可延伸性、分散性、完全分散式合作開發、能同時高效地處理純文字和二進制檔案,以及分支和合併功能,以此同時保持系統的簡潔性[1]。Mercurial也包括一個整合的Web介面。
Mercurial的建立者和主要開發人員是Matt Mackal。其原始碼採用GNU通用公眾特許條款第二版為授權,確保了Mercurial是一個自由軟件。
技術細節
Mercurial採用SHA-1雜湊演算法來辨識修訂版本。Mercurial使用一個基於HTTP的協定來接入網絡中的版本庫,旨在減少往返的提交、連接數和數據傳輸。Mercurial也可以工作在ssh環境下,其協定和基於HTTP的協定非常相似。
文件
Bryan O'Sullivan已寫作了一個全面的參考手冊:Mercurial:權威指南[2]。該手冊根據開放出版特許條款免費提供。
歷史
Mackall在2005年4月19日第一次釋出了Mercurial。[3]其動機是當月Bitmover公司宣佈復原其免費版本的BitKeeper。
2005年時BitKeeper已經被用於Linux內核的專案版本控制。Mackall決定為Linux內核開發寫一個分散式的版本控制軟件來替代BitKeeper。在該專案啟動數天前,Linus Torvalds基於類似的目的開始了另一個現在相當知名的版本控制軟件Git。[4]
Linux內核開發專案決定使用Git而不是Mercurial,但Mercurial也使用於在很多其他的專案中(見下文)。
相關軟件
- Mercurial圖形化使用者介面有:Hgk(Tcl/Tk)。該程式作為Mercurial的外掛程式而開發,現在被直接包含於正式版本中。介面可以通過命令命令'hg view'來呼叫(如果安裝了該擴充的話)。hgk最初來源於名為gitk的類似工具。hgk有一個名為hgview (頁面存檔備份,存於互聯網檔案館)是純Python編寫的替代軟件,同時提供GTK和QT介面。
- 合併用的工具包括(h)gct(Qt)和Meld。
- 轉換外掛程式可以將CVS、Darcs、Git、GNU arch、Monotone、Perforce、GNU Bazaar和Subversion的版本庫轉換為Mercurial的版本庫。
- 從第6版Mercurial開始支援NetBeans。
- TortoiseHg提供了一個面向Windows的基於右鍵選單的友好介面,也用於GNOME的Nautilus檔案管理器。
其他
以下網站提供免費的Mercurial版本庫寄存:
- Bitbucket
- Google Code[5]
- JavaForge [6]
- Project Kenai by Sun Microsystems
- SourceForge
- GNU Savannah
- Alioth by Debian
- BerliOS
- 在Mercurial wiki中列出的其他網站
- CodePlex (頁面存檔備份,存於互聯網檔案館)
這些專案(部分)使用了Mercurial作為版本控制[7]
- Mozilla[8]
- OpenJDK[9]
- OpenSolaris[10]
- Symbian OS[11]
- The Xen hypervisor[12]
- Adblock Plus
- Adium
- Aldrin
- Audacious
- CubicWeb
- Dovecot IMAP server[13]
- GNU Octave
- Growl
- LinuxTV/Video4Linux
- LuxRender 3D Render Engine
- MoinMoin wiki software
- Mutt (email client)
- Netbeans[14]
- NxOS
- Nuxeo
- SAGE
- x265[15]
參見
參考文獻
外部連結
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.