Skip to main content

9 posts tagged with "hg"

View All Tags

· One min read

讀到 DVCS Round-Up: One System to Rule Them All? 記錄一下。(還有Part IIPart III)這麼長的文章在一般狀況下實在沒什麼耐心看下去。還好 Mac 上的 Text-To-Speech 功能做的非常好用,把預設的語速調快,並設定快速鍵 (我設成 Command+~) 後,讀一篇長文其實花不了幾分鐘。

現在最常用的版本控制系統應該是 svn、hg、git 三種。 svn (Subversion)、hg (Mercurial) 是自己平時會使用的版本控制系統,由於 hg 跟 svn 的命令幾乎相同,轉換時的學習曲線相當平緩,都是相當方便的工具。google code 剛好也是支援這兩種。git 則是開發 linux 系統時的常用的工具。

· 2 min read

剛剛發現開源的 Java 社群在版本控制系統 (version control) 的選擇,正向著 Python mercurial 遷移。

證據是 Mercurial 的官方網站上列出了近期的幾個 Sun 的重要專案都採用了 Mercurial:

2007-12-12 NetBeans migrates to mercurial

2007-12-05 OpenJDK (aka Java) switches to Mercurial

2006-10-18 OpenSolaris announces ON Mercurial repository mirror

包含 Sun 官方的 Java、NetBeans 跟 OpenSolaris 都採用 mercurial 分散式版本控制系統。 這對社群有極佳的示範作用。

試想一下,就跟許多 Linux 發佈套件開始用 BT 來分流一樣。 既然都開放下載了,用分散式的版本控制系統有助 Sun 降低其公司的網路流量,應該能省下不少花費。

另外,在 Windows 上相當有名的 tortoise 系列圖形化版本控制工具也出了 Mercurial 版囉,名叫tortoisehg。(另外兩種是 tortoisecvs 跟 tortoisesvn)

· 2 min read

最近 mozilla 宣佈要採用 水銀 (mercurial, hg) 當作他們未來的版本控制系統.

我試了一下發現 mercurial 有用 twist 提供內建的 web server, 想用版本控制時再也不用先搞定 apache 設定了,Python 真是好呀

水銀分散式版本控制系統的使用概念如下:

0. 開個檔案夾 ([origin]), 開始 coding. 1. 告訴自己這個檔案夾裡放的是版本庫 (hg init). 2. 將原始版本中的所有檔案放進版本庫 (hg commit *). 3. 怕接下來的修改把原始版本改糟了,所以另外複製一份來改 (hg clone [origin][dst]). 4. 在複製檔案夾上改一改,覺得弄完一小階段了,先大致查看一下修改了些甚麼 (hg status), 然後儲存修改 (hg commit). 5. 重複修改的過程. 5.x 哇!遇到錯誤了怎麼辦?沒關係,用 ' 快速鍵 ' 將修改復原 (hg revert [id]). 6. 改得滿意了,將修改的東西存回原始檔案夾 (hg push [origin]). 7. 整理一下原始檔案夾 (hg update), 確認修改沒衝突.

其他應用

  • 開個 分享讓其他人也可以用 (hg serve [-p port])
  • 看看修改歷程 (hg log)
  • 看看修改的內容 (hg diff)
  • 修改有衝突了,進去檔案看看,解決它 (hg merge)
  • 接受其他人的修改 (hg pull)