使用svnsync備份(遠程)svn倉庫

=摘要=
在svn中,利用svnsync命令可以對某個代碼倉庫進行備份.這裏主要簡介怎麼使用svnsync進行倉庫備份以及一些需要注意的地方.

下面將詳細說明一下是怎麼進行備份的.(測試平臺是linux 2.6.x + svn 1.6.x),對於win平臺將是類似的做法. 


=實施備份=
這裏的備份是完全複製一個遠程倉庫.
1: 使用svnadmin倉庫一人本地的空的倉庫.
$svnadmin create ~/svn-storage-bak
2: 修改這個新的倉庫的相關腳本
2.0 進入svn-storage-bak這個倉庫的根目錄中:~/svn-storage-bak
2.1:複製hooks/pre-revprop-change.tmpl爲hooks/pre-revprop-change
2.2:給上面這個腳本加上執行權限.
#chmod u+x hooks/pre-revprop-change
2.3:編輯上面腳本,添加如下命令,使得每一行非註釋指令是exit 0
 {{{
exit 0
 }}}
 然後就是保存啦.
3: 使用svnsync設置新的倉庫同步指向目標倉庫
$svnsync init file:////home/usrname/svn-storage-bak 目標倉庫的url
4: 進行同步了.
$svnsync  sync file:///home/usrname/svn-storage-bak
5: 這個時候將看到標準輸出一些備份信息.


好了,上面演示了怎麼備份一個已有數據的版本倉庫,下面將討論這過程中的相關注意地方..
=注意=
存儲目標倉庫的備份的svn倉庫要是一個空的倉庫,否則將有如下提示.
svnsync: Cannot initialize a repository with content in it


=參考資料=
http://nowing.iteye.com/blog/844608

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章