本文是对SVN备份还原的一个简单记录
/*千万不能用VisualSVN Server PowerShell,否则在还原Load的时候会发生错误E140001,具体参考http://stackoverflow.com/questions/18818903/malformed-dumpfile-header-when-migrating-repository-from-windows-to-linux-encod*/
/*进入命令行*/
cd C:\Program Files\VisualSVN Server\bin (SVN的安装目录)
/*查看最新版本*/
svnlook youngest H:\Repositories\PCT (SVN的工作目录)
>> 3
/*完全备份(包括所有的历史记录)*/
svnadmin dump H:\Repositories\PCT > H:\SVN\Archive\PCT\PCTFullDump_20160815.dump (采取这种)
/*增量备份(包括所有的历史记录)*/
svnadmin dump H:\Repositories\PCT --incremental > H:\SVN\Archive\PCT\PCTIncrementalFullDump_20160815.dump
/*指定版本备份*/
svnadmin dump H:\Repositories\PCT -r 0:3 > dumpfile
svnadmin dump H:\Repositories\PCT -r 4:8 --incremental > dumpfile1
/*通过load命令进行还原*/
/*还原步骤:1.打开VisualSVN Server Manager,删除PCT目录; 2.再新建PCT目录; 3.执行下面的命令进行恢复;4.新建文件夹进行Checkout即可*/
svnadmin load H:\Repositories\PCT < H:\SVN\Archive\PCT\PCTFullDump_20160815.dump
如果需要版本历史记录,千万不能用导出(Export)功能,而应该使用上面的命令行
还原过程中,出现一个错误:
<<< 开始新的事务,基于原始版本 8324
svnadmin: E125005: 在转储流中发现非法的属性值;考虑修复,或者在加载时使用选项 '--bypass-prop-validation' 。
svnadmin: E125005: 不能接受属性 “svn:log” 的非 LF 行结束符
按照提示,加上这个参数:
svnadmin load --bypass-prop-validation E:\VersionCtl\OwSpoken < E:\svn_dump\OwSpoken.7387-11665.dump