Tuesday, April 24, 2007

新的版本控制軟體? mercurial

mercurial 是一套Distributed式的版本控制軟體,而且也是python唷
中文翻譯就是水銀,指令當然就是hg囉...

比起以往的SVN或是SVK(由clkao設計的版本,這次在2007 OSDC.tw有精彩的演講)
SVN 把檔案全部放在.svn目錄,而且是每個檔案都有

SVK把檔案放在~/.svk中,雖然檔案沒有亂丟,但是每次都會忘記,到底哪個檔案才是有svk紀錄的
在2007 OSDC.tw中,clkao展現了,有一個類似proxy的機制,我忘了叫什麼,
但的確解決當初我在公司會遇到,每個人都要checkout,然後頻寬塞爆的問題

那...介紹一下hg..
目前我看到的特色是,他把每個控制的檔案,放在最底層的.hg,這樣的設計方式,簡單且不失便利性
另外,在project管理方面,是每一個project一個repertory,這樣的管理方式就不會動不動就千筆資料
當然SVK再與其他SCM的整合度上沒話講

hg如同許多python的工具都同時具備,cgi模式與server直接啟動httpd
線上文件的http://www.selenic.com/mercurial/wiki/index.cgi/PublishingRepositories有提到
不過我不是用 rewrite的方式,我是用 ScriptAlias /hg /foo/hgwebdir.cgi
另外在/foo目錄下要有一個hgweb.config的檔案,並設目錄如
[paths]
network/ns-3 = sources/network/ns-3



也有很好的線上書
http://hgbook.red-bean.com/hgbook.html

另外大個project都跟進了(mozilla 2)
那...我還需要遲疑嗎?

1 comment:

巴士 said...

無意間走訪到這, 原來是好久沒見的小祥..., 走過必留下足跡, 我是跨越的xxKuo, 有空回公司走走吧!!