2007年11月20日 星期二

使用hg內建的web server

hg( Mercurial)內建 web server。

一般使用方式如下:

到已開啟好(hg init完畢)的repository (例如 c:\writeMLC)目錄下,執行以下指令:

hg serve -p 8002
然後開啟web browser,開啟以下網址:
http://127.0.0.1:8002/
即可看到該repository的資訊:

此功能一方面可以作為command line模式的"friendly front end" ,另一方面,可以跟合作夥伴共享程式碼。

若有多個repository ,就要用webdir-conf 這個選項。使用方式先編輯一個設定檔,指定web server path和repository的關聯性:
編輯 一個檔案 (假設為webdirconf)
[paths]
writeMLC = C:\Whimery\DownloadWriteMLC
UseYagarto = C:\Yagarto\UseYagarto
BootRun = C:\BootRun\BootRun_Robert
在啟動hg server時,加上以下參數:
hg serve -p 8002 --webdir-conf webdirconf
然後在web browser上的顯示會像是以下:


每個 repository 可以自行設定一些特徵,諸如:web style、authorization、zip download support,指定方式即利用每個 repository 下.hg目錄裡的hgrc 檔 (要自行建立與編輯)。

以下就是為了方便所寫的hgrc內容:
[web]
style = gitweb
allow_archive = bz2 gz zip
push_ssl = false
allow_push = *
說明:
  • 改用git style 的wen interface (較詳細)
  • 增加 bz2、gz、zip的source snapshoot下載
  • 不使用ssl (因為不知道在windows command 下怎麼用 :P)
  • 允許經由http作push的動作 (允許他人check-in)

沒有留言: