svnsync是subversion提供的乙個用於同步版本庫的工具,通過svnsync同時可以達到備份svn版本庫的目的。
作業系統:windows7
工具:cmd命令列
首先,svnsync help命令,查閱svnsync及subcommand使用方法
1、確保源庫的路徑正確[source_repo_url]
2、svnadmin create [dest_repo_url]
確保已經建立新的目標庫(若沒有,需新建目標庫)
3、svnsync init
初始化,建立目標庫和源庫之間的同步關係
命令格式 svnsync init [--username dest_name --password dest_pwd] 目標庫url 源庫url
2、svnsync sync
真正的同步
命令格式 svnsync sync 目標庫url
以我的同步過程為例項,過程如下
說明:專案名demoservice 兩個庫即伺服器存在同一臺電腦,只不過目標庫是在快盤上。
目標庫[file:///x:\home\svn\demoservice]《普通svn伺服器》 或[
源庫[file:///g:\mysvn-reposity\reposity-demoservice]
1.進入x:\home\svn目錄,建立demoservice目標庫
svnadmin create demoservice
2.修改目標庫的指令碼pre-revprop-change
進入x:\home\svn\demoservice\hooks\
cd x:\home\svn\demoservice\hooks\
新建 pre-revprop-change.bat
windows下為空即可;linux下輸入#!/bin/sh exit 0
再提公升pre-revprop-change.bat檔案許可權:chmod 775/a+x
pre-revprop-change.bat
3.
初始化,建立目標庫和源庫之間的同步關係
svnsync init --username shendw --password shendw file:///x:\home\svn\demoservice file:///g:\mysvn-reposity\reposity-demoservice
如果執行正確,則===output:copied properties for revision 0.
4.開始真正的同步
svnsync sync file:///x:\home\svn\demoservice
===output:
transmitting file data ..................
committed revision 1.
copied properties for revision 1.
transmitting file data ..
committed revision 2.
copied properties for revision 2.
===ok,大功告成。
5.然後測試下目標庫的**
右鍵目標庫,選擇export,選擇正確的匯出路徑,ok。說明庫同步成功。
進入設定的workspace,右鍵執行checkout,選擇url: ,ok。此時專案即可看到以前的log。
1.repository has not been enabled to accept revision propchanges ?
解決方案:
新建 pre-revprop-change.bat,如上
2.「svnsync: revprop change blocked by pre-revprop-change hook (exit code 255) with output...」?
解決方案:
提公升pre-revprop-change.bat許可權,如上
輸入使用者名稱和密碼。我的例項中,因為在init時,輸入了user資訊,所以後面的沒有提示輸入。另外,源庫是沒有指定使用者的,即allusers。
svnsync 兩個svn庫之間的同步
今天專案例會時提到乙個這樣的問題,我們公司做的乙個產品是和客戶公司共同開發 需要兩邊公司都有svn庫,這樣就導致兩個svn庫的 不同步,所以這樣就需要設定成兩個svn庫進行同步,google了一下發現網上好多大蝦都已經搞過,所以順手牽樣搞下來學習一下,供大家分享一下 試驗下來,svnsync除了目標...
同步鎖以及如何避免死鎖?
同步 在高併發的情況下,為了防止資料出錯,乙個執行緒對於共享資源執行操作的時候,另外的執行緒要執行操作此共享資源需要等待前乙個執行緒釋放此共享資源,才能操作。同步監視器 共享資源。同步函式 synchronized修飾的方法,同步監視器為當前this物件。同步 塊 synchronized修飾的 塊...
svnsync實現已有版本庫的映象
源版本庫url http ip repository 映象版本庫路徑 var svn xx 1 建立映象版本庫 1 建立版本庫 svnadmin create var svn xx 2 建立鉤子 cp var svn xx hooks pre recvprop change.tml var svn ...