Monotone 是一個版本控管系統,但是他跟 SVN/CVS 並無衝突,我們由 monotone 首頁節錄官方的摘要說明如下:
monotone is a free distributed version control system. it provides a simple, single-file transactional version store, with fully disconnected operation and an efficient peer-to-peer synchronization protocol.
SVN 是廣為使用的版本控管系統,並將取代 CVS。然而 SVN/CVS 的操作與管理的學習成本是挺高的,我們無法「勸導」客戶積極地配合我們的 CVS 模式來跟我們的程式碼同步,還好 monotone 可以代替原本 CVS 的角色 (版本控制),並提供更簡便的版本控管機制給「朋友」或「客戶」。
Monotone 將所有不同版本的程式碼建成「一個資料庫」,附檔名是 *.mtn,比如我把 Jollen-Kit! Builder 利用 monotone 成立一個專案 (project) 並建立 jkbuilder.mtn 資料庫,那麼我只要把 jkbuilder.mtn 遞交給朋友,我朋友就可以利用 monotone 把 jkbuilder.mtn 裡的程式碼 "check out" 出來。
Monotone 用在教育訓練也是很適合的,我們現在把一大堆課程的東西都「打包」成 *.mtn,同學只要下載 *.mtn 資料回去,就可以把課程的資料 (範例、文件與套件等) 都取出來。相當的方便,monotone 可以在某些場合取代 CVS 的使用,提供大家做參考。
比如我朋友 Andrew 拿到 jkbuilder-0928.mtn 後,要先用 mtn 做 "checkout" 的動作,這時 Andrew 下達的指令會是:
linux$ mtn --db=./jkbuilder-0928.mtn co --branch=org.jollen.dev
執行後,Andrew 就可以在 "org.jollen.dev/" 目錄下看到 checkout 出來的程式碼。Andrew 很熱血的幫我們改掉一下錯誤 (bug) 了!那我只要給 Andrew 一個簽證 (key),他就可以做 "commit" 的動作。
Jollen's Blog 使用 Github issues 與讀者交流討論。請點擊上方的文章專屬 issue,或 open a new issue
您可透過電子郵件 jollen@jollen.org,或是 Linkedin 與我連絡。更歡迎使用微信,請搜尋 WeChat ID:jollentw