windows下SVN版本庫遷移小結

來源:互聯網
上載者:User

標籤:svn遷移

SVN需求:搬遷至異地上雲環境,遷移過程將影響使用者的時間減少至最小。

 

SVN常見的幾種遷移方案:

第一種:整個SVN庫目錄打包遷移,原庫大小17G,打包加遷移時間預估時間約5小時以上,中斷不符合要求。

第二種:svnadmin 內建的dump匯出load匯入方式遷移 :所有版本匯出大小超過了磁碟剩餘空間(不小於40G),中斷不符合要求。

第三種:通過svnsync鉤子指令碼同步方式進行第一次全量同步,遷移時增量同步處理(預計最快時間十分鐘左右)。

利用svnsync同步過程:

1. 原SVN伺服器與目標SVN伺服器

兩邊開設用於同步的帳號(最好帳號密碼一致)

 

2.目標SVN伺服器上:

利用SVN內建的鉤子指令碼更改如下:

路徑:D:\svn_repository\hooks\pre-revprop-change.tmpl 

將最後三行刪除改成exit 0     如下:

 REPOS="$1"
REV="$2"
USER="$3"
PROPNAME="$4"
ACTION="$5"

#if [ "$ACTION" = "M" -a "$PROPNAME" = "svn:log" ]; then exit 0; fi

#echo "Changing revision properties other than svn:log is prohibited" >&2
exit 0


建立pre-revprop-change.bat檔案,將pre-revprop-change的最後兩行拷過來即可或者直接輸入exit 0。

exit 0

重啟SVN服務。


接下來進行同步前的初始化,格式 svnsync init  目標庫路徑  源庫路徑

svnsync init svn://127.0.0.1/ svn://61.174.30.194/

如報錯:Repository has not been enabled to accept revision propchanges;ask the administrator to create a pre-revprop-change hook .
pre-revprop-change.bat檢查此指令檔是否存在,如存在檢查檔案格式是否正確。我這邊在windows server2008下通過文字文件建立了pre-revprop-change.bat檔案後實際上通過屬性查看它並不是一個可執行檔,而是一個txt檔案類型。在此問題排查上浪費了很多時間,一直初始化不成功。從自己win7機器上建立可執行檔格式pre-revprop-change.bat再傳至服務端測試OK。

開始同步: 

svnsync sync svn://127.0.0.1/


3.SVN遷移後更改網域名稱指向測試svn update時報錯:

Repository UUID ‘60f49f27-8aaa-164f-9098-701db8904462‘ doesn‘t match expected

原因為:

原來Repository建立者的UUID是前者,而現在所操作的是後者的UUID。因此,目前的解決辦法是:使用相關命令更新Repository的UUID。

查看原SVN的UUID:

D:\svnrepository>svnlook uuid D:\svnrepository 

1024ede3-db12-4f4b-a8b4-28f755881912

查看新SVN的UUID:

C:\Users\Administrator>svnlook uuid D:\svn_repository       

60f49f27-8aaa-164f-9098-701db8904462

將新SVN的UUID更改成跟原SVN一樣:

C:\Users\Administrator>svnadmin setuuid D:\svn_repository 1024ede3-db12-4f4b-a8b 4-28f755881912


再次svn update測試OK。


同步後查看兩端的版本號碼是否一致svnlook youngest D:\svnrepository 

本文出自 “E人空間” 部落格,請務必保留此出處http://iceeggplant.blog.51cto.com/1446843/1595591

windows下SVN版本庫遷移小結

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.