SVK 使用心得

開始使用 SVK 其實並不算偶然。因為我們在工作上一直有使用版本 控制的習慣,畢竟在一個小組工作的環境,沒有使用版本控制系統只 會讓簡單的事情複雜化。於是當自由軟體社群開始醞釀使用 Subver- sion 來取代 CVS 時,我們就已經慢慢跟進了。 新的 Subversion 雖然改進了許多 CVS 為人所詬病的,卻還有些設 計不太符合一些特定的使用習慣。例如在使用 Subversion 時,很多 工作必須在使用者有連接上伺服器時才有辦法進行。而且當使用者一 但將手上正在工作的內容上傳之後,就馬上變成一個新的版本 (re- vision),可是這些東西也許只是改了一半,或者還沒有除錯的內容。 因此如果上傳到所有人共用的伺服器時,很容易影響系統的正確性。 可是如果不上傳,有時候也會讓修改的人沒辦法進行版本控制,而造 成工作上的困擾。

而 SVK 就是透過作為 Subversion 一個用戶端的程式,使用 Sub- version 原來的檔案系統,去加強離線使用的功能。有了 Subversion 的離線用戶端程式,當我帶著筆記型電腦在火車上,飛機上或任何其 他沒有辦法作網路存取的地方,還是可以正常的工作。而等到工作告 一段落時,就可以回到網路世界把工作的成果送回到伺服器上。這其 實是透過 SVK 的映射功能,也就是說,透過 SVK,我就可以把我在 工作時所需要使用的伺服器檔案庫整個映射回自己的電腦裡。也因此, SVK patch 的這個功能就可以讓我很容易的做出補綴檔 (patch file), 即使對於某些自己沒有權限存取他們的檔案庫,還是可以在映射下來 之後,在自己的電腦上做版本控制,也可以把自己的修改內容透過 SVK 造出詳細的補綴檔。

SVK 還有另一個非常方便的功能,也就是除了 Subversion 檔案庫之 外,他也能映射其他不同版本控制系統的檔案庫,例如 CVS, Perforce 等等。所以對於一個參加不同專案的人來講,就不用再每次都用不同 的版本控制系統用戶端程式,這對於習慣於參加不同開放源碼專案的 人來講,確實是一大福音。

只是非常可惜,SVK 一直到目前為止,都沒有圖形介面可以使用。雖 然現在已經有許多平台的套件可供安裝 (例如 debian, Mac OSX, Win32),可是不管在那個平台上,還是要使用命令列的方式來進行, 這也許也是讓不少人卻步的原因吧!




自由軟體鑄造場電子報 : 第 42 期 第二屆台灣自由軟體開發者問卷調查

分類: 源碼專案