- Tossug 心得分享:Mercurialize! □ 文/Yungyuc
Mercurial 是什麼? Mercurial 是一套速度快功能強的分散式原始碼控制系統 (Decentralized Source Code Management)。 說是原始碼控制系統,但基本上,只要是儲存成純文字的資料,都可以被 Mercurial 管理。
Mercurial 是什麼? Mercurial 是一套速度快功能強的分散式原始碼控制系統 (Decentralized Source Code Management)。 說是原始碼控制系統,但基本上,只要是儲存成純文字的資料,都可以被 Mercurial 管理。
SCM 那麼多種,Mercurial 好在哪裡?Mercurial 的優點在於其分散式的特性。 也就是說,每個用 Mercurial 管原始碼的人,都可以有一份完整的 repository。 不像 CVS 或 SVN,離了網路就什麼都不能; repository 伴身邊,不管是看 log 或 commit 新變更, 根本不必管有沒有網路,隨時都可以進行。
怎麼,大家都有一份原始碼,又隨時可以作任何修改, 那大家改過的版本怎麼同步?在 Mercurial 裡面, 每一次的修改都是一筆 changeset, 這些 changeset 都具有獨立唯一的識別號碼。 因此,Mercurial 根據這些 changeset 的唯一識別號, 可以判斷任何 repository 間 changeset 間的關係。 把同一個檔案改成了不同的版本?這在 Mercurial 裡不是問題, 隨心所欲改下去吧,Mercurial 知道你的需要。 Mercurial 知道程式員常常修修改改, 要我們時時保持程式碼的一致性是很困難的事; 一個人寫都很困難了, 很多人寫就更困難。
Mercurial 允許我們讓程式的演進變成多頭馬車,只是,當多了一個頭 (head) 的時候, Mercurial 要求我們 merge。在 Mercurial 裡的 merge 不像 Subversion 那麼麻煩, 多半只需要一筆 hg merge 指令就完成。這就是彈性了。
想了解恐龍級專案 Mozilla 所選擇 [1]_ 的 Mercurial 嗎? 在 2007/7/24 晚上,yungyuc 也會假借 TOSSUG 心得分享的名義,行 MERCURIALIZE 之實。 歡迎大家一起來被滲透!
時間: 7/24 7:00pm - 9:00pm
地點: 魯米爺咖啡
講者: Yung-Yu Chen (yungyuc) http://blog.seety.org/everydaywork/ < [email protected]>
講題: Mercurialize!
大綱:
Mercurial 的定位
彈性、彈性、彈性
改一點點,像 SVN 一樣用 HG
PULL-based 操作
示範 hg view (hgk)
發佈 Mercurial repository 好方便
shrink this item