SVN库中提取目录导入到新SVN库


//在svn客户端中查看该目录包含的版本号并相应的版本记录在服务器端导出成dump文件。(参数是增量备份)
svnadmin dump /opt/svn/ivg/ -r 1685:5173 --incremental>dg1.dump
svnadmin dump /opt/svn/ivg/ -r 5288:14188 --incremental>dg2.dump
svnadmin dump /opt/svn/ivg/ -r 16802:16802 --incremental>dg3.dump
//提取出刚才导出文件中含有“项目/弹弓射击”目录的内容到新的dump文件。(参数作用重新计算版本号)
cat dg1.dump | svndumpfilter include 项目/弹弓射击 --drop-empty-revs --renumber-revs >dg1.ok.dump
svndumpfilter include 项目/弹弓射击 --drop-empty-revs --renumber-revs <dg1.dump>dg1.ok.dump
cat dg2.dump | svndumpfilter include project/弹弓射击 --drop-empty-revs --renumber-revs >dg2.ok.dump
cat dg3.dump | svndumpfilter include project/弹弓射击 --drop-empty-revs --renumber-revs >dg3.ok.dump
//创建新库madshoot
svnadmin create --fs-type fsfs  /opt/svn/projects/madshoot
chown  -R apache:apache /opt/svn/projects/madshoot
//将导出的文件导入到新库。
svnadmin load /opt/svn/projects/madshoot <dg1.ok.dump
svnadmin load /opt/svn/projects/madshoot <dg2.ok.dump
svnadmin load /opt/svn/projects/madshoot <dg3.ok.dump
SVN只保留最新的版本
//检查最新版本号
svnlook youngest /opt/svn/ivg
//导出最新的版本
svnadmin dump /opt/svn/ivg -r 300 >last.dump  (非增量备份)
//创建新库test
svnadmin create --fs-type fsfs /opt/svn/projects/test
chown -R apache:apache /opt/svn/projects/test
//将导出的文件导入到新库
svnadmin load /opt/svn/projects/test <last.dump