TortoiseSVN Logo

TortoiseSVN 1.6 的新功能

TortoiseSVN 1.6 是之前所有 TortoiseSVN 版本的超集,並且被認為是當前穩定且「最佳」的版本。早期版本中的任何內容在 1.6 中也都有,但 1.6 包含早期版本中沒有的功能和錯誤修正。

相容性考量

舊版的用戶端和伺服器可以與 1.6 版的伺服器和用戶端透明地協同運作。但是,除非用戶端和伺服器都是最新版本,否則某些 1.6 版的新功能可能無法使用。在某些情況下,如果用戶端是新的而伺服器是舊的,新功能雖然可以運作,但效率會比較差。

新功能相容性表

新功能最低用戶端版本最低伺服器版本最低儲存庫版本注意事項
樹狀衝突處理任何任何任何可以使用舊於 1.6 版的伺服器,但某些類型的衝突將無法偵測到。

工作副本和儲存庫檔案系統格式變更

工作副本格式已升級。這表示 1.5 版和更舊版本的 Subversion 用戶端將無法使用 Subversion/TortoiseSVN 1.6 產生的工作副本。工作副本會自動升級

工作副本升級

警告:如果 Subversion 1.6 用戶端遇到 1.6 版之前的工作副本,它會在接觸到工作副本時立即自動升級工作副本格式,導致舊版本的 Subversion 用戶端無法讀取。如果您在機器上使用多個版本的 Subversion,請小心您在哪個工作副本中使用哪個版本,以避免意外升級工作副本。

如果您不小心將 1.5 版工作副本升級到 1.6 版,並希望降級回 1.5 版,請使用 change-svn-wc-format.py 腳本。請參閱此常見問題條目以取得詳細資訊,並使用 --help 選項執行腳本以取得使用說明。

新功能/增強功能

file:/// 存取 BDB 儲存庫

TortoiseSVN 1.6 不再支援透過 file:/// URL 存取 BDB 儲存庫。這不會影響透過 svn://http:// 存取 BDB 儲存庫。

如果您有仍然透過 file:/// URL 存取的 BDB 儲存庫,則必須使用 svnadmin 工具將儲存庫轉換為 FSFS 格式,該工具可在 SVN 命令列用戶端中使用。

請按照 Subversion 書籍中的指示轉換儲存庫。

改進的樹狀衝突處理

Subversion 1.6 可以在更新/合併/切換操作期間偵測樹狀衝突。這些項目隨後會被標記為衝突,以指出問題。

請注意,Subversion 仍然將重新命名視為「複製+刪除」操作,因此,導致樹狀衝突的檔案重新命名只能在檔案新增和刪除方面偵測到。因此,在樹狀衝突偵測期間可能會出現誤報。

TortoiseSVN 1.6 會在樹狀衝突發生時在操作期間顯示這些衝突,也會以衝突覆蓋圖示和在「檢查變更」對話方塊中顯示。

新的衝突解決對話方塊有助於解決此類衝突,指示樹狀衝突的類型以及關於如何解決這些衝突的提示。

日誌快取

TortoiseSVN 1.5 中引入的日誌快取已得到改進,運作更順暢。提供了一系列廣泛的選項來控制快取管理。請參閱設定對話方塊以取得詳細資訊。

此外,現在完全支援共用相同 URL 或 UUID 的儲存庫。

修訂圖表

修訂圖表已大幅變更,幾乎完全重寫。

Revision Graph

新的修訂圖表有更多選項可以調整輸出。例如,現在可以隱藏/顯示個別子樹。

IBugtraq 提供者外掛程式增強功能

外掛程式可以使用新的介面 IBugtraqProvider2,以更精確地控制提交,並為使用者提供更多資訊。

這個新介面允許外掛程式拒絕提交、在成功提交後執行任務(例如,在 issue tracker 中新增條目)。它也允許外掛程式顯示選項/設定對話方塊。而且外掛程式可以在每次提交時新增修訂屬性。

有興趣為 issue tracker 撰寫外掛程式的開發人員可以從我們的 contrib 資料夾取得 C++ 和 C# 範例外掛程式的程式碼。

其他變更

1.6 版還有許多其他值得一提的變更

  • 依副檔名忽略多個檔案
  • 在日誌對話方塊中依錯誤 ID 篩選
  • 在日誌對話方塊中否定篩選器
  • 在狀態快取中更好地處理 'runas'
  • 如果沒有變更清單,項目會在對話方塊中依外部項目分組
  • 在狀態清單中,針對取出深度和外部/巢狀項目的覆蓋圖示

當然,這些並非此 1.6 版發行的所有增強功能/變更。您可以從變更日誌或在我們的儲存庫上顯示 SVN 日誌來取得更詳細的變更清單。

1.6 版中的已知問題

檔案外部項目

Subversion 1.6 現在支援單一檔案外部項目以及資料夾外部項目。但是,在使用它們之前,您應該注意一些重大問題。

檔案外部項目是透過將值新增至資料夾的 svn:externals 屬性來建立的。但是,一旦新增了此類檔案外部項目,即使您刪除 svn:externals 屬性,也無法從工作副本中移除。從工作副本中移除檔案的唯一方法是進行全新取出。請參閱 Subversion issue #3351

目前無法將二進位檔案新增為外部項目。請參閱 Subversion issue #3368