MERCURIAL
- File based.
- File set based.
- Directory based.
通通都是 centralized。
- commit 紀錄
- 多重版本 -- branch
- 幫助記憶 -- tag, revision
- 收藏庫轉換 OK for SVNCVSBZRGITDARCS。
- JUST ADD.
- 也有像 svk 一樣的 hgsvn (當然,還在 alpha 階段的東西沒法兒和成熟專案比)。
- 安裝 setuptools。
- easy_install mercurial
- 如果在 windows 下,可安裝 PyWin32,這樣 hg clone 就會用 NTFS 的 hardlink。
- mercurial 內建 CGI 與 FastCGI 支援。
- 自己的收藏庫用 CGI 就好,省得麻煩。
- 佈署零煩惱;有支援 Python 的 shared hosting 都可以用。
- 允許從客戶端 pull 和 push。
- 使用 HTTP basic authentication 資訊。
hg clone blahblah
C:\worktmp>hg clone http://hg.seety.org/software/bambook
destination directory: bambook
requesting all changes
adding changesets
adding manifests
adding file changes
added 51 changesets with 185 changes to 76 files
59 files updated, 0 files merged, 0 files removed, 0 files unresolved
- pull:從來源收藏庫取得新資訊。
- push:把本地收藏庫變更傳給來源收藏庫。
- ci:把 working copy 變更記入本地收藏庫。
- up:把收藏庫的變更套進 working copy。
- merge:合併有差異的變更。
- hg push
- hg push http://the.host/of/the/repository/
- 都可以。
- 所以不是一定要推回「原來那個收藏庫」。
- hg merge; hg commit -m "Merged blahblah."
- 噗的一聲就好了。
- 收藏庫裡出現兩個 head 時就要 merge。(除非....
和 SVN 不一樣!
- Are all named meta information.
- 各 branches 間不主動 merge。
- 收藏庫允許 branch 有自己的 head,不必和別人 merge。
- 不過單個 branch 裡若出現了兩個 head,還是得要 merge 才能繼續長。
帥啊。有圖就是比較棒。
- 畫出收藏庫的歷史演進。
- hgk 工具是要角。
- 以 TCL/TK script 撰寫。
- 在 Windows 下請安裝 ActiveTcl。
- 可惜還不會認 branches。
- 如果用 wx 改寫一個一定很酷。
- 收藏庫不能放空目錄。
- mercurial 的 changeset 只記檔案資訊。
- 真要加空目錄,得補個 placeholder 檔案。
- Patch 管理:mercurial queue。
- mercurial queue 就是在主收藏庫之外,專門給 patch 建的收藏庫。
- Trac 0.10/11 已經有可用的 mercurial plugin。