TortoiseSVN Logo

TortoiseSVN 1.8 的新功能

廣告

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

本頁面僅描述主要變更。如需完整的變更列表,您可以查看我們的提交記錄和 1.8 的問題列表

別忘了查看 Subversion 函式庫中的所有變更,現在也已更新至 1.8 版:所有這些變更當然也都在 TortoiseSVN 中。請參閱Subversion 1.8 發行說明中的完整變更列表。

TortoiseBlame 的色彩標示

TortoiseBlame 現在可以依作者為程式碼行著色,而不僅僅是依據時間/修訂版本為變更著色,這樣更容易辨識是誰變更了哪些程式碼行。

coloring in TortoiseBlame

僅提交檔案的部分內容

在處理任務時,經常會發現周圍程式碼的問題。然後修復該問題會導致在同一個檔案中完成多個任務,因此也會在一次提交中完成多個修復/任務。

僅提交與特定問題相關的檔案部分內容

  1. 在提交對話方塊中,在檔案上按一下滑鼠右鍵,選擇「提交後還原」
  2. 在 TortoiseMerge 等程式中編輯檔案:還原您尚不想提交的變更
  3. 儲存檔案
  4. 提交檔案

提交完成後,將還原原始檔案,其中包含您尚未提交的所有變更。

TortoiseMerge

TortoiseMerge 是 TortoiseSVN 隨附的可視化差異/合併工具,也進行了許多改進。

TortoiseMerge Ribbon
Ribbon UI
TortoiseMerge 現在使用 Ribbon 功能區,而不是純工具列來顯示其命令。
搜尋
新的搜尋快捷鍵 Ctrl+F3,更佳的搜尋比對指示,僅搜尋活動檢視。
前往行號
一個新的指令,可前往特定行號。
內嵌差異
可以使用單一按鈕切換內嵌差異的開啟/關閉,而無需進入設定對話方塊
UTF-32 檔案的處理
TortoiseMerge 現在也可以處理 UTF-32 編碼的檔案,並可辨識更多 EOL 格式。

儲存庫瀏覽器

儲存庫瀏覽器的一個經常被要求的功能是列出透過 SVNListParentPath 指令提供的所有儲存庫。現在可以實現了:將儲存庫瀏覽器指向根網址,它就會列出所有儲存庫。

SVNListParentPath

在儲存庫瀏覽器對話方塊的底部,會顯示一個摘要,指示檔案和資料夾的數量以及目前顯示的資料夾。

還有兩個新的按鈕可以像網頁瀏覽器一樣返回和前進。

第三方函式庫

當第三方函式庫直接儲存在工作副本中時,即不是透過 svn:externals 屬性,那麼更新這些函式庫並不容易。

直接複製新版本當然可以,但如果新版本移除了檔案,這些檔案仍然會留在您的工作副本中。

在 1.8 版中,TortoiseSVN 提供了一種更簡單的方法來執行此操作:只需將包含新版本函式庫的資料夾右鍵拖曳到儲存在工作副本中的版本,然後從右鍵選單中選擇SVN vendor branch here

然後 TortoiseSVN 會掃描這兩個目錄,複製所有新檔案,並移除新版本中不再存在的檔案。

在 TortoiseSVN 更新資料夾後,您只需提交新版本即可。

進度對話方塊

顯示各種操作進度的對話方塊現在可以更好地指示區段/群組,例如,當更新具有多個外部設定的工作副本時。

每個區段/群組都以粗體顯示的第一行表示。

至於更新外部項目:對話方塊中僅顯示提取修改的外部項目。如果外部項目沒有變更,則對話方塊不會顯示任何相關資訊。這大大減少了無資訊的行數,特別是當您設定了許多外部項目時。

SubWCRev

SubWCRev 也進行了許多改進,主要改進如下

  • UTF-16 編碼的檔案也可以使用,無論是作為來源/範本還是作為目標檔案。
  • 一個新的選項,用於指定工作副本修訂版本的偏移量。如果您的儲存庫的修訂版本號碼 > 65535,並且您想要將修訂版本用於版本資源,則需要此選項:Windows 版本資源號碼只有 16 位元,在這種情況下,您可以指定負偏移量,使版本資源號碼低於 16 位元限制。
  • SubWCRev 可以偵測未版本化的檔案和/或資料夾。如果您希望在組建過程中,當您的工作副本中存在此類未版本化的項目時傳回錯誤,這會很有用,表示您可能錯過了新增和提交這些項目。

自訂屬性

如果您正在使用自訂屬性,您現在可以設定 TortoiseSVN 以提供更好的對話方塊來編輯和修改它們。

屬性 tsvn:userfilepropertiestsvn:userdirproperties 得到了擴展,因此您可以指定您擁有的屬性類型。

請參閱我們的文件,了解其運作方式。

透過屬性設定用戶端 Hook 腳本

在早期版本中,您只能透過設定對話方塊設定用戶端 Hook 腳本。如果您只有少數工作站/使用者需要設定,這還可以。但是,如果您希望一個大型提交者團隊都執行您需要的 Hook 腳本,則需要大量工作才能設定。

在 TortoiseSVN 1.8 中,您現在可以透過專案屬性設定要執行的 Hook 腳本。

為了避免在使用者不知情的情況下執行可能不安全的腳本,TortoiseSVN 會先詢問是否執行這些腳本。

請參閱我們的文件,了解其運作方式。

相容性考量

本機用戶端相容性

Subversion 工作副本有時會使用多個不同的用戶端存取,例如 TortoiseSVN、AnkhSVN 和 SVN 命令列用戶端。由於工作副本格式已在此版本中變更,因此 1.8 用戶端必須先升級才能存取較早的工作副本。Pre-1.8 用戶端完全無法存取 1.8 工作副本,並且沒有降級選項。

遷移到 1.8 工作副本必須被視為單向操作。如果您需要在同一個工作副本上使用多個用戶端,請確保您可以更新所有用戶端,然後再升級工作副本。

用戶端伺服器相容性

較舊的用戶端和伺服器可以與 1.8 伺服器和用戶端透明地互操作。也就是說,您可以將 1.8 用戶端與較舊的伺服器一起使用,也可以將 1.8 伺服器與較舊的用戶端一起使用。但是,除非用戶端和伺服器都是最新版本,否則某些新的 1.8 功能可能無法使用。在某些情況下,即使新功能可以使用,但如果用戶端是新的而伺服器是舊的,則執行效率會較低。

新功能相容性表

新功能最低用戶端1最低伺服器最低儲存庫注意事項
工作副本記錄移動1.8任何任何
自動合併1.81.51.5
移除 neon 支援1.8任何任何伺服器端設定變更可能需要最佳效能,以便 1.8 用戶端透過 HTTP 存取儲存庫。
可繼承屬性1.8任何任何不需要 1.8 伺服器,但在要求繼承屬性時,1.8 伺服器將提供更優越的效能。
儲存庫指定的設定屬性1.8任何任何
儲存庫中的 Authz 檔案任何1.8任何
1提醒:當使用 file:// 儲存庫存取方法時,Subversion 程式同時是用戶端伺服器。

記錄對話方塊

記錄對話方塊增強功能,以協助程式碼審查

新增了一個新的右鍵選單「建立程式碼協作者審查」,以提供與 SmartBear Code Collaborator 審查工具的互通性。

當在底部的「變更的檔案」列表方塊中選取多個檔案時,記錄對話方塊中新增了兩個新的右鍵選單和指令。

  1. 顯示多個變更...
  2. 開啟多個本機...

這些指令如何運作的詳細資訊,包括將工作副本檔案載入 Visual Studio 的特殊支援,可以在 subversion 說明檔案的「叫用修訂記錄對話方塊」主題下找到。