1. 程式人生 > >【技術問題】SVN中最常出現的問題

【技術問題】SVN中最常出現的問題

1. 如何將已有目錄設為共享倉庫

在svn中新建一個目錄的具體操作方法如下:

第一步,登陸Visual SVN,選中Repository,右鍵新建“Repository”->選擇第一項"Resular FSFS Repository"->選擇空檔案“Empty Repository”->選擇“完全讀寫許可權”->輸入檔名;

第二步,回到主目錄,選中新建的檔案->右鍵選擇“Copy URL to Clipboard”;

第三步,本地建立的檔案->右鍵選擇“Checkout”,將伺服器端檔案同步->看到小對號出現在檔案符號上,完成;

按這種步驟設定的Repository,沒有亂七八糟的配置檔案,很清爽。

2. SVN Clint遇到問題:不知道這樣的主機

Clint連線不上Server的情況,

(1) 確保在同一區域網

(2) 設定ip地址為自動獲取ip地址

(3) 重新連線,如果伺服器無法顯示,參考第三點

3. 遇到問題:提供程式載入失敗 (0x80041013)

可能原因:

(1) TCP/IP埠被佔用;

(2) 無法訪問版本庫的根資料夾;

(3) 與第三方防毒軟體或防火牆衝突;

(4) 無法訪問VisualSVN安裝資料夾的父資料夾(所以推薦安裝到C盤)。

方法一、通過“修復”的方式進行解決【親測無效】:

(1) 找到VisualSVN的安裝源程式;

(2) 雙擊,選擇Repair(修復),完成修復即可。

參考:http://blog.csdn.net/youngage/article/details/50277291

方法二、安裝升級

(1) Windows 8.1升級至Windows 10後,啟動VisualSVN Server Manager報錯:提供程式無法執行所嘗試的操作 (0x80041024),VisualSVN Server Manager的當前版本為:3.0.1

(2) 下載Version 3.4.2 64-bit,安裝升級:https://www.visualsvn.com/server/changes/

4. 更改本地檔案所連線到的伺服器地址

專案檔案右鍵>TortoiseSVN-->Relocate會會看到如下圖2的一個relocate對話方塊。

注意,在同一機器下遷移地址應該用switch選項。

如果報錯:error: The repository at 'https://XXX' has uuid 'yyy', but the WC has 'zzz',那麼你應該先把你舊機器的使用者名稱變更為新的使用者名稱uuid。svnadmin setuuid REPOS_PATH [NEW_UUID]

具體見:https://stackoverflow.com/questions/7417815/tortoise-svn-relocate-error

另一個回答:

操作TortoiseSVN時,報如下錯誤: 

      Command Update 
      Repository UUID 'xxxxxxxx' doesn't match expected 
      UUID 'xxxxxxxx' 
      Finished! 
      可以看到,原來Repository建立者的UUID是前者,而現在所操作的是後者的UUID。因此,目前的解決辦法是:使用相關命令更新Repository的UUID。 
具體辦法如下: 
      1、首先檢視專案的所有者的UUID 
      # svnlook uuid /var/svn/repos 
      xxxxxxx
      2、更新專案的UUID 

      # svnadmin setuuid /var/svn/repos xxxxxxx

      3、檢視一下更新後的UUID 

      # svnlook uuid /var/svn/repos 

附:UUID是repository建立時自動生成的一個隨機數, SVN Client利用UUID判斷是否為同一個resp。一般遇到UUID不同時,需要重新checkout

具體見:https://blog.csdn.net/xuzhuang2008/article/details/8474229

關於命令列:

你需要先確定你在windows下安裝了命令列工具:https://www.cnblogs.com/guanking19/p/7908244.html

TortoiseSVN是一個GUI客戶端,這個自動化指導為你展示了讓TortoiseSVN對話方塊顯示並收集客戶輸入,如果你希望編寫不需要輸入的指令碼,你應該使用官方的Subversion命令列客戶端。 TortoiseSVN的GUI程式叫做TortoiseProc.exe。

5. TortoiseSVN客戶端重新設定使用者名稱和密碼

在第一次使用TortoiseSVN從伺服器CheckOut的時候,會要求輸入使用者名稱和密碼,這時輸入框下面有個選項是儲存認證資訊,如果選了這個選項,那麼以後就不用每次都輸入一遍使用者名稱密碼了。
不過,如果後來在伺服器端修改了使用者名稱密碼,則再次檢出時就會出錯,而且這個客戶端很弱智,出錯之後不會自動跳出使用者名稱密碼輸入框讓人更新,我找了半天也沒找到修改這個使用者名稱密碼的地方。

最終,找到兩種解決辦法:

辦法一:在TortoiseSVN的設定對話方塊中,選擇“已儲存資料”,在“認證資料”那一行點選“清除”按鈕,清楚儲存的認證資料,再檢出的時候就會重新跳出使用者名稱密碼輸入框。

如果方法一不起作用,則可以採用方法二:

Tortoise的使用者名稱密碼等認證資訊都是快取在客戶端檔案系統的這個目錄:
C:/Documents and Settings/Administrator/Application Data/Subversion/auth

刪除auth下面的所有資料夾,重新連線遠端伺服器進行檢出,對話方塊就會出現!