http://chunanyong.iteye.com/blog/875013
初级篇:
导出:
$svnlook youngest myrepos//查看到目前为止最新的版本号
$svnadmin dump myrepos > dumpfile//将指定的版本库导出成文件dumpfile
导入:
$svnadmin load newrepos < dumpfile
中级篇:
$svnadmin dump myrepos –r 23>rev-23.dumpfile
$svnadmin dump myrepos –r 100:200>rev-100-200.dumpfile
对比较大的库可以分解成几个文件导出,便于备份
$svnadmin dump myrepos –r 0:1000>0-1000.dumpfile
$svnadmin dump myrepos –r 1001:2000 --incremental>1001-2000.dumpfile
$svnadmin dump myrepos –r 2001:3000 --incremental>2001:3000.dumpfile
在导入时,可以将这几个备份文件装载到一个新的版本库中
$svnadmin load myrepos <0-1000.dumpfile
$svnadmin load myrepos <1001-2000.dumpfile
$svnadmin load myrepos <2001:3000.dumpfile
高级篇:
$svndumpfilter include DocProtect < repos-dumpfile> DocProtect-dumpfile
$svndumpfilter include Odin < repos-dumpfile>Odin-dumpfile
*****特别注意点:如果使用手工编辑dumpfile文件来移除一个顶级目录,需要注意不要让使用的编辑器将换行符转换为本地格式(比如将\r\n转换为\n),否则文件的内容就与原来的格式不符,这个转储文件就失效了。具体做法就是当你在使用编辑器打开文件的时候,编辑器会提示用户是否需要转换格式,一定要选择“否”,切记!!切记!!
****备份环境注意点:
************************************
pre-revprop-change.bat
set repos=%1
set rev=%2
set user=%3
set propname=%4
set action=%5
for /f??"usebackq"? ?%%k in? ?(`svnlook author %repos% -r %rev%`)??do? ?@set??var=%%k
set rightUser=0
if "%3" == "%superUser%"??set rightUser=1
if "%3" == "%var%" set rightUser=1
if %rightUser% == 0 goto ERROR_USER
goto :SUCCESS_EXIT
:ERROR_USER
echo 只允许用户修改自己的日志 >&2
goto ERROR_EXIT
:ERROR_EXIT
exit 1
:SUCCESS_EXIT
exit 0
************************************
pre-commit.bat
setlocal
set REPOS=%1
set TXN=%2
rem check that logmessage contains at least 5 characters
svnlook log "%REPOS%" -t "%TXN%" | findstr ".........."> nul
if %errorlevel% gtr 0 goto err
exit 0
:err
echo 提交必须写日志!>&2
exit 1