5 月 2007

[筆記] Subversion directory structure strategy

公司裡只有我一個人在玩 Subversion(目前公司用的是 CVS),而且真的拿 Subversion 來管理自己改的 sources 也只是這一、兩個月的事。拿之前玩 Version Manager, ClearCase & CVS 的經驗和觀念來玩 Subversion,跌跌撞撞了一段時間。下面是我在 Windows 下撞出來的心得,若是有更好的方法歡迎討論。

  1. 安裝完後,建立一個目錄做為存所有的 repositories。例:E:svn_reps
  2. 以 project 名稱在 repositories directory 中建 sub-directory。例:E:svn_repsbd1
  3. 在以 project 命名的 directory 中建立 repository。
  4. Import project. 不要把 project files 直接 import 到以 project 命名的 repository 中;把它們 import 到 repository 中的 trunk 目錄。URL 範例:file:///E:/svn_reps/bd1/trunk/
  5. 建立一個空的目錄,把它 import 到 repository 中的 branches 目錄。URL 範例:file:///E:/svn_reps/bd1/branches/
    (其實這兩步可以一次搞定:先在 local 硬碟上把目錄結構建好,然後再一次 import)
  6. 大功告成。以後 trunk 就是 baseline,branches 則 create 在 branchesbranch_name 下面。

其實上面的說明寫得很爛……沒有 Subversion 概念的人大概還是不能了解我在說啥 XD

用慣了每個檔案有不同版號、利用 tag/label 來控制 snap-shot 的版本控制系統後,一下子切到 Subversion,實在有些不習慣,覺得想貼個 label/tag 都礙手礙腳的。尤其一開始目錄規劃沒弄好,現在想要 create branches/tag 都不知道該怎麼辦……

不過基本上還是蠻好玩的啦!尤其是在 Windows 上搭配 TortoiseSVN 使用更是方便。TortoiseCVS 也還不錯,至少比那該死的 WinCVS 好用一萬倍。 -_-