Mercurial 版本管理工具的安裝與設定

安裝

在分散式版本管理上,Mercurial 與 git 是兩個常見的版本管理系統,Mercurial 是由 Matt Mackal 所創建的,而 git 則是由 Linux 的創造者 Linus Tovards 所創建的。

與 git 相比,Mercurial 顯得簡單許多,在 Google Code 專案託管網站上,只有提供 Mercurial 與 SVN 兩種版本管理方式,由於我比較喜歡分散式的管理方式,因此採用 Mercurial,而非 SVN。

您可以從 Mercurial 的網站上下載 Windows 版本的 Mercurial,其網址如下。

下載點:http://mercurial.selenic.com/downloads/

其中的 Windows 連結,就是 Mercurial 在 MS. Windows 上的命令列版本,而 TortoiseHg 則是由 Tortoise 這家公司為 Mercurial 所創建的視窗介面管理工具。請下載這兩個軟體並安裝後,再開始使用 Mercurial。

設定

Mercurial 在安裝後最好先進行設定,否則會不能進行 commit 的動作,設定時必須設定 %HOME% 這個路徑,
然後在 %HOME% 路徑下建立一個 Mercurial.ini 檔,接著在 Mercurial.ini 檔中加入使用者資訊,以及像 Proxy 等資訊,如此才能正常的使用 Mercurial。

在 Windows XP 當中設定 HOME 環境變數的方法,是在「開始/控制台/系統/進階/環境變數」當中按下新增,如下圖所示。

HgEnvSetting.jpg

在上圖中,我們將 HOME 變數設定到 d:\HG\ 這個目錄中,因此我們必須在電腦中建立此目錄,然後再於此目錄中建立一個名為 Mercurial.ini 的文字檔,並加入設定內容,像是使用者資訊,以及像 Proxy 等資訊,以下是筆者的設定檔內容。

檔案:d:\HG\Mercurial.ini

[ui]
username = ccc kmit <ccc@kmit.edu.tw>
[http_proxy]
host = proxy.internal:3128

由於筆者的學校具有 proxy 管制,因此一定要設定 http_proxy 的 host 資訊,一般使用 ADSL 或無線網路者是不需要設定 http_proxy 的。但是 ui (User Interface Control) 中的 username 則是一定要設定的,否則將會在後續的 commit 或 clone 的動作中遭到失敗的命運。

測試

一但您安裝好 Mercurial 並完成上述設定之後,就可以測試看看安裝是否正確,在 Mercurial 的官方網站上已經放了一個非常小的測試專案稱為 Hello,其網址為 http://www.selenic.com/repo/hello,您可以參考下列過程進行操作,假如可以成功的取回整個 hello 專案,那便是安裝與設定都已經成功了。

D:\hg>hg clone http://www.selenic.com/repo/hello my-hello
requesting all changes
adding changesets
adding manifests
adding file changes
added 2 changesets with 2 changes to 2 files
updating to branch default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved

D:\hg>dir my-hello
 磁碟區 D 中的磁碟沒有標籤。
 磁碟區序號:  1C6F-4F0D

 D:\hg\my-hello 的目錄

2010/08/18  下午 02:22    <DIR>          .
2010/08/18  下午 02:22    <DIR>          ..
2010/08/18  下午 02:22    <DIR>          .hg
2010/08/18  下午 02:22               257 hello.c
2010/08/18  下午 02:22                11 Makefile
               2 個檔案             268 位元組
               3 個目錄  19,387,781,120 位元組可用
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License