现在的位置: 首页 > 综合 > 正文

版本库迁移(合并)的实现

2013年03月16日 ⁄ 综合 ⁄ 共 1029字 ⁄ 字号 评论关闭

版本库迁移(合并)的实现):指的是将两个独立的、有各自版本信息的版本库合并为一个版本库,并保留被合并的两个库的版本信息。
环境:windows+SVN+apache
我的版本库路径:c:\svn_repository(安装时的默认路径)
操作步骤:
1、在c:\svn_repository下新建两个版本库:test1和test2,在test1中进行两次提交,增加文件夹a、b和文件c.txt,产生两条版本信息,这里记为test1(1,2);在test2中进行五次提交,增加文件夹aa、bb、cc、dd和文件ee.txt,产生五条版本信息,记为test2(1,2,3,4,5);
现在要做的是把版本库test1根目录下的所有内容(a、b、c.txt)迁移到版本库test2的目录aa下;

2、运行cmd打开命令解释程序,首先输入命令:
svnadmin dump c:\svn_repository\test1 > dumpfile ,此命令是将版本库test1的所有内容转储为名叫dumpfile的文件,当然,这个文件名可以随便;

3、然后输入命令:
svnadmin load c:\svn_repository\test2 --parent-dir aa < dumpfile ,此命令是将test1的转储文件dumpfile读入版本库test2的aa目录下,参数“--parent-dir”是为了指定test2下的具体路径,方法就是在“--parent-dir”后键入具体路径,这里的测试选择了一级目录aa;

4、执行3中的命令并成功后,更新版本库test2,你会发现aa下面多了a、b、c.txt ,查看test2的log,会发现原版本库test2的版本信息没有变化,还是test2(1,2,3,4,5),新增了版本信息7、8,对应的就是原test1的版本信息test1(1,2),但除了Revision号由原来的1、2变为7、8外,其它没有变化。

如果你想把迁入的版本库test1里的内容再细致的分到test2的不同目录下,干脆直接用命令 svnadmin load c:\svn_repository\test2 < dumpfile 把test1的内容迁移到test2的根目录下,然后再用TortoiseSVN的版本库浏览器做细致调整,反正版本信息都已经合并在一起了,后面的操作都是在一个版本库下,无碍无碍。
当然,在转储一个版本库的时候也可以选择性的转储,具体参数可以查看SVN手册,这里不再一一细表。

抱歉!评论已关闭.