Mercurial跨平台分布式版本控制軟件,主要由Python語言實現,但也包含用C語言實現的二進制比較工具。Mercurial一開始的主要運行平台是Linux,現在Mercurial已經移植到WindowsMac OS X和大多數的類Unix系統中。Mercurial主要由命令行程序組成,現在也有了圖形用戶界面。對Mercurial的所有操作都由用不同的關鍵字作為參數調用程序「hg」來實現,Hg是參考水銀化學符號而取的名字。

Quick Facts 開發者, 當前版本 ...
Mercurial
Thumb
開發者Matt Mackall
當前版本6.3.1(2022年11月9日,​22個月前​(2022-11-09
預覽版本6.3rc0(2022年10月24日,​22個月前​(2022-10-24
源代碼庫 編輯維基數據鏈接
編程語言PythonC語言
操作系統類Unix, Windows, Mac OS X
類型版本控制
許可協議GPL v2
網站www.mercurial-scm.org
Close

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
  • 轉換插件可以將CVSDarcs英語DarcsGitGNU archMonotonePerforce英語PerforceGNU BazaarSubversion的版本庫轉換為Mercurial的版本庫。
  • 從第6版Mercurial開始支持NetBeans
  • TortoiseHg提供了一個面向Windows的基於右鍵菜單的友好界面,也用於GNOME的Nautilus文件管理器。

其他

代碼託管

以下網站提供免費的Mercurial版本庫託管:

採用Mercurial的項目

這些項目(部分)使用了Mercurial作為版本控制[7]

參見

參考文獻

外部連結

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.