1. 程式人生 > >TortoiseSVN Switch與Relocate的區別

TortoiseSVN Switch與Relocate的區別

將之前先明確兩個概念,工作副本就是本地的程式碼的目錄,工作目錄就是SVN伺服器端的與本地工作副本相對應的目錄。

Switch是轉換當前工作副本對應的工作目錄,一般是從trunk工作目錄轉向tag工作目錄,或者從tag轉回來,switch的類似update,將switch的目標工作目錄的檔案更新到本地,一般會產生很多衝突。

Relocate是當代碼倉庫的訪問路徑(伺服器的計算機名稱修改,或IP地址變更,URL變更),而此時已檢出修改的工作副本(working copy)沒有變更,若此時直接提交(commit),肯定不能成功,因為此提交地址對應的svn伺服器不存在了。TortoiseSVN為我們提供了重定位工作副本的功能(TortoiseSVN → Relocate),此指令掃描.svn資料夾中的所有條目,改變條目的url(伺服器地址)為新輸入的地址。

重定位操作可能的原因:

a) 伺服器的IP地址已更改

b) 協議已更改(比如從http://改為 https://)

c) 版本庫在伺服器的路徑已更改

在TortoiseSVN的幫助說明中說明重定位是極少使用的操作,但對於在本地小型內網開發的,由於重灌系統,伺服器主機變動,重定位應用還是比較多的。