Subversion與Trac合用時的檔案庫Layout考量

一般Subversion檔案庫的Layout皆以下列兩種為主:

  1. 版本類型為主,再區分專案
    1. trunk
      1. Project1
      2. Project2
    2. branches
      1. Project1
      2. Project2
    3. tags
      1. Project1
      2. Project2
  2. 以專案為主,再區分版本類型
    1. Project1
      1. trunk
      2. branches
      3. tags
    2. Project2
      1. trunk
      2. branches
      3. tags

一開始我們採用的是第一種,再依不同的檔案類型分成數個目錄,例如:

  1. trunk
    1. webPage
      1. Project1
      2. Project2
    2. javaSource
      1. Project1
      2. Project2
    3. document
      1. Project1
      2. Project2

在此種佈局下,讓開發人員自行將專案各自取出到本地端即可,在檔案庫裡不需要建立太多的trunk/branches/tags目錄,這種方式運行許久一直都算順利,但直到Trac上線才發現目前的佈局對於在Trac裡的瀏覽造成狀況。

Trac目前無法同時管理多個專案,我們必須為不同的專案建立不同的Trac系統,在此種狀態下面臨了下列問題:

  1. 使用者權限必須在每個Trac裡都設定一次,對管理人員而言頗為繁瑣
  2. 每個Trac只能指定一個Subversion的路徑,結果因為我們一個專案拆成webPage、javaSource、document等不同的路徑,造成Trac無法同時指定

經過討論後,我們必須把佈局修改成下列的樣式,在最上層建立統合的project目錄,使每個專案的Trac能分別指定:

  1. project
    1. Project1
      1. webPage
        1. trunk
        2. branches
        3. tags
      2. javaSource
        1. trunk
        2. branches
        3. tags
      3. document
        1. trunk
        2. branches
        3. tags
    2. Project2
      1. webPage
        1. trunk
        2. branches
        3. tags
      2. javaSource
        1. trunk
        2. branches
        3. tags
      3. document
        1. trunk
        2. branches
        3. tags

在Trac裡指定的Subversion路徑是:/project/project1,當有權限人員瀏覽源碼時,就能觀看到某專案在Subversion裡的所有檔案了。Trac的問題解決了,但在Subversion檔案庫裡的結構變得比以前複雜。似乎陷入了有一好沒兩好的窘境了。

##

您可能也會有興趣的類似文章

簡睿

服務於軟體業的資訊老兵。興趣廣泛,學習力佳,樂於分享所知所學。

您可能也會喜歡…

2 個回應

  1. 簡睿表示:

    To Jeffery,謝謝你的資訊,我會試看看的。

  2. jeffery表示:

    您好!我經常看你的Blog, 今天看到你寫的這篇Trac的limit, 我建議你可以看一看Codebeamer, Codebeamer與Subversion有不錯的整合並且可以管理多個專案,每個專案擁有自己的SVN Repository,這樣可以有效解決權限管理的問題.Codebeamer也有內建Wiki (採用JSPWiki) 每個專案可以擁有自己的wiki space , 可以參考http://opensource.javaworld.com.tw

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *