Linux svn倉庫備份到Windows機器上

Linux svn倉庫備份到Windows機器上

1,需求說明,Linux做爲主庫(A),Windows做爲本地備份庫(B),要求天天將Linux庫中的代碼備份到本地web

2,B機器上安裝svn服務端svn

 

3,spa

4,建立一個新的svn倉庫(倉庫必須是新建立的並且不能有提交,更新等操做)3d

 

 

進入倉庫的hooks文件夾,複製pre-revprop-change.tmpl 文件,重命名爲pre-revprop-change.bat  ,編輯pre-revprop-change.bat文件  刪除所有內容,輸入exit 0 保存code

 

 

五、執行同步要使用到兩個命令
一、svnsync init
初始化,創建目標庫和源庫之間的同步關係
命令格式 svnsync init 目標庫URL 源庫URL
二、svnsync sync
真正的同步
命令格式 svnsync sync 目標庫URLblog

 

所有操做以下圖所示同步

 

 

 

C:\Users\Administrator>svnsync init file:///E:\lywebsite svn://39.105.111.20/lywit

Ebsiteio

 

C:\Users\Administrator>svnsync sync  file:///E:\lywebsiteast

 

 

執行svnsync init 時先會讓你填寫administrator的密碼,隨便輸入就行

接下來輸入svn的帳號密碼

最後執行svnsync sync ,這一步有可能也會讓你輸入用戶名密碼

可以使用下面的格式,帶上用戶名和密碼

svnsync sync file:///svn/proj1 –username username –password password

 

 

問題:

1. Repository has not been enabled to accept revision propchanges

解決方法:

Linux:

hooks下新建pre-revprop-change文件,內容是

#!/bin/sh

exit 0;

 

Windows:

hooks下新建pre-revprop-change.bat文件, 內容爲空便可

 

2. Revprop change blocked by pre-revprop-change hook (exit code 255) with no output

解決方法:

Linux:

chmod a+x pre-revprop-change

3,svnsync: Destination HEAD (593) is not the last merged revision (592);

have you committed to the destination without using svnsync?

解決方法

svn propset --revprop -r0 svn:sync-last-merged-revision 593 file:///home/test/svn/test

相關文章
相關標籤/搜索