Subversion(SVN)
YehYeh\'s Notepad yehyeh@gmail.com 

Subversion(SVN) - 屬性 & 外部定義

屬性(Property)

  • 屬性
    • 用來讓檔案、資料匣、修訂版本附加額外訊息
    • 屬性由屬性名屬性值組成
      • TestStatus:All Passing
    • 可以配合script
  • 屬性命名
    • 開頭必須為字元、冒號( : )、底線( _ )
    • 名字可以使用數字、橫線( - )、句號( . )
  • SVN保留以svn:開頭的屬性名稱
  • Commit時,屬性的異動會一併送交到檔案庫
  • 屬性也可能會產生衝突
Δ 回到最上方

外部定義(External Definitions)

  • 外部定義(External Definitions)
    • 讓工作副本引入其它的專案的檔案或資料匣
    • SVN 1.6起支援檔案的外部定義
  • 在某工作副本設定好外部定義並commit後
    • 其它工作副本checkout或update時,也會取得或更新外部定義設定的檔案或資料匣
  • 外部定義 = svn:externals屬性
    • 若外部定義為檔案,則只允許同一個檔案庫內的檔案
    • 若外部定義為資料匣,則可以是同一個檔案庫內或不同檔案庫
    • 若為同一個檔案庫的檔案或資料匣,則commit時會一併commit
    • 若非同一個檔案庫的資料匣,則需另行commit
  • 外部定義主要用途:
    • Project中含括許多小Project
    • 引入函式庫
  • 設定流程:
    • 設定外部定義屬性 Update Commit
  • 設定時
    • URL必需正確轉義
      • 空格=%20
    • Local Path有空格或特殊字元時需用雙引號括住
    • 最好指定外部定義的版本號
      • jquery1.7
  • 假設工作副本對應檔案庫的路徑為
    檔案庫URL:http://ex.org/svn/repos1/project/trunk
    工作副本:C:\Working 
    要設定外部定義:http://ex.org/svn/repos1/widgets/foo
    • 相對於父目錄:
      • ../../widgets/foo
    • 相對檔案庫的根目錄:
      • ^/widgets/foo
      • ^/../repos2/ham/claw http://ex.org/svn/repos2/ham/claw
    • 相對於方案:
      • //ex.org/svn/repos1/widgets/foo
    • 相對於伺服器主機:
      • /svn/repos1/widgets/foo