
背景1SVN仓库alm中需要迁移里面的一个目录Test到新的服务器svn仓库。svnadmin dump --deltas /mnt/alm alm.dump# --deltas参数会以压缩的二进制差异形式输出连续修订版本虽然导出速度稍慢但能大幅减小 dump 文件的体积从而显著加快后续的导入速度。特别是windows系统下svnadmin load速度比linux下慢很多NTFS文件系统对svn导入不友好。svndumpfilter --drop-empty-revs --renumber-revs include Test alm.dump alm2.dump#–drop-empty-revs 和–renumber-revs参数可以清理掉因为过滤产生的空提交记录并重新编排版本号让新仓库的历史记录更干净如果不加这两个参数导入的时候还会报错“file not found: transaction ‘0-0’ path ”svnadmin load /mnt/alm2 alm2.repo新的alm2仓库只会有原有alm仓库Test目录下的文件背景2SVN仓库alm中需要迁移里面除目录Test外其他目录到新的服务器svn仓库。svnadmin dump --deltas /mnt/alm alm.dumpsvndumpfilter --drop-empty-revs --renumber-revs exclude Test alm.dump alm3.dumpsvnadmin load /mnt/alm3 alm3.repo新的alm3仓库只会有原有alm仓库除了Test目录下的文件该方法也可以用于svn仓库的瘦身把一些svn需要废弃的目录删除掉。