在Windows上同步SVN代碼庫到備份SVN機器上ide
SVN源庫IP: 192.168.0.200
SVN目標庫(備份庫)IP:192.168.0.62
visualSVN Server版本:VisualSVN-Server-3.9.5-x64.msi svn
一、 在目標庫的機器上安裝好SVN環境,儘可能與源庫SVN版本一致吧,安裝省略。。。
安裝VisualSVN-Server-3.9.5-x64.msi須要幾個地方注意下:
(1)、安裝的過程當中選擇標準模式吧, 建立用戶個數不受限制,只是部分功能受限了但夠用。
(2)、千萬不要下載VisualSVN-Server 4.0以上的版本安裝,由於免費只能建立15個用戶。
這裏默認你源庫主機上已經安裝過了,就無論你是否安裝了,只是單獨作實驗的用戶那就都要安裝了,自行根據狀況安裝吧。
二、 SVN目標庫主機上安裝完畢後,在目標庫上建立一個lx 庫,而後接着在lx文件夾下的hooks文件夾裏的新建個pre-revprop-change.bat。
內容以下:
echo "Changing revision properties other than svn:log is prohibited" >&2
exit 0
三、 而後進行初始化同步執行命令(在cmd下執行)
svnsync init file:///D:/Repositories/lx https://192.168.0.200:443/svn/lx/
或者
svnsync init https://192.168.0.62/svn/lx https://192.168.0.200:443/svn/lx/工具
注意第一次執行初始化,由於用到https協議會提示你是否贊成協議,選擇 p 回車就可。開發工具
參考截圖:ui
四、 進行項目同步命令
Svnsync sync file:///D:/Repositories/lx
或者
svnsync sync https://192.168.0.62/svn/lxurl
截圖以下:orm
問題:C:\Users\Administrator>Svnsync sync file:///D:/Repositories/lx
svnsync: E170013: Unable to connect to a repository at URL 'file:///D:/Repo
ies/lx'
svnsync: E180001: Unable to open repository 'file:///D:/Repositories/lx
svnsync: E160043: Expected FS format between '1' and '7'; found format '8'blog
如果出現如上問題,
解決方法以下2種:
一、 換IP地址同步:svnsync sync https://192.168.0.62/svn/lx
二、 直接修改D:\Repositories\lx\db\format文件,爲1-7之間的數值,修改個7就好。
注意不要用記事本打開,用notepad++開發工具之類的記事本打開,而後須要修改下format文件屬性去掉只讀後再改(修改屬性Windows的右鍵屬性就可,學計算機的人都懂的吧),否則沒有權限編輯。修改完畢權限修改回來,爲只讀。開發
同步成功!其餘新的項目也同上 相似2 、三、4 步驟操做get
後期如果要切換到目標庫上使用,以防以前客戶端從新update是由於uuid不同致使沒法更新等問題,如果從新chectout版本改問題可無視
如果非要保持原來已經拉下來的版本文件上進行update等操做(這種狀況只能是在相同的SVN域名或者IP狀況下才能如此保持如出一轍的才行),那就必須把切換的目標庫上對於的版本庫UUID更改成以前源庫上用的UUID才行。
相關查詢UUID命令及修改UUID方式以下:
查詢UUID命令 (t2爲你的版本庫路徑下的項目目錄)
svnlook uuid D:\Repositories\t2
源庫和模板庫上均可以用以上命令
如果在模板庫上去查詢源庫的能夠用
svn proplist -v --revprop -r0 https://192.168.0.62/svn/t2
顯示的內容以下(參考):
Unversioned properties on revision 0:
svn:date
2019-06-21T02:09:13.987543Z
svn:sync-from-url
https://192.168.0.200/svn/t2
svn:sync-from-uuid
27b48cb4-c766-3641-acf0-8e242da8b4b8
svn:sync-last-merged-rev
1
修改UUID的命令爲:C:\Users\Administrator> svnadmin setuuid D:\Repositories\t2 27b48cb4-c766-3641-acf0-8e242da8b4b8注意:只能在目標庫CMD上執行修改UUID命令最好在以前的