首页 > 代码库 > SVN移植、合库、分库

SVN移植、合库、分库

简介:

使用svnadmin dump命令可生成所有修订版的转储数据,svnadmin load命令可读取修订版的转储数据,不依赖特定平台、subversion版本。

且可通过svndumpfilter命令对转储数据流进行筛选,如只保留某些路径文件、删除某些路径文件。

转储数据格式也是cvs2svn等转换工具使用的格式。

背景:

操作系统:Linux version 2.6.9

SVN服务器端版本:Subversion 1.6.9

场景:

有两个SVN仓库A、B,A库下有文件夹a1、a2,B库下有文件夹b1、b2,现要将A、B两库合并到C库,且不包含a2文件夹。

实现步骤:

1.建立新库C

2.获得A库转储数据

  svnadmin dump /svn/data/A > a-temp.dump

  cat a-temp.dump | svndumpfilter include a1 > a.dump  (linux)

  type a-temp.dump | svndumpfilter include a1 > a.dump (windows)

3.获得B库转储数据

  svnadmin dump /svn/data/B > b.dump

4.合并转储数据到C库

  svnadmin load /svn/data/C < a.dump

  svnadmin load /svn/data/C < b.dump

 

说明:

1.如想load入C库中指定文件夹,load时配置参数 --parent-dir

2.如想修改a1的层级目录,可编辑a.dump文件,修改a1的路径

  图1  修改路径

  图2  修改后

 

SVN移植、合库、分库