分库使用的一些命令

由于之前建立SVN版本库时候,把很多工程的代码库都放到了一个大版本库里,随着时间推移库越来越大,因管理方便,需要把其中部分较独立工程拿出来,放到单独的版本库。

这时候就需要做分库的工作。以下是一些用到的命令例子:

1. 导出旧版本库:svnadmin dump oldRepository > dumpfile

2. 导出Project1相关的revision,指定参数用于重新排列revision:cat dumpfile | svndumpfilter include Project1 --drop-empty-revs --renumber-revs > 1-dumpfile

3. 保险方便起见,备份一份:cp 1-dumpfile 2-dumpfile

4. 替换Node-path相关:sed -i 's/Node-path: ProjectName\//Node-path: /g' 2-dumpfile 

5. 替换Node-copyfrom-path相关:sed -i 's/Node-copyfrom-path: ProjectName\//Node-copyfrom-path: /g' 2-dumpfile

6. 查看是否还有路径里有ProjectName相关未被替换,可用命令搜索:grep ":ProjectName/" 2-dumpfile

7. 导入到新库里:svnadmin load ProjectName< ../svnbackup/2-dumpfile

完成,检验新库和老库的子目录内容是否一致,比如各自checkout后用beyond compare比较,或者其他方法均可。

谢谢!

posted @ 2015-05-17 14:30  LiangjiChen  阅读(199)  评论(0编辑  收藏  举报