一、windows
版本库迁移(合并):指的是将两个独立的、有各自版本信息的版本库合并为一个版本库,并保留被合并的两个库的版本信息。
环境:windows+SVN+apache
我的版本库路径:E:\svnrepository(即我的版本库是在这个路径下建立的)
操作步骤:
1、在E:\svnrepository下建立两个版本库:local和local1,版本库local是我原先的版本,版本号已经到了25了,此版本库一层目录是liruixuan,二层目录是test;在新建的版本库local1中进行三次提交,增加文件夹ivy,在ivy里面增加文件test.txt,产生三条版本信息,记为test2(1,2,3);
现在把版本库local1根目录下的所有内容(文件夹ivy,还有里面的test.txt)迁移到版本库local的目录liruixuan\test下;
2、运行cmd打开命令解释程序,首先输入命令:
svnadmin dump E:\svnrepository\local1 > E:\svnrepository\20091222 ,此命令是将版本库local1的所有内容转储为名叫20091222的文件,当然,这个文件名可以随便;运行结果如下图:
3、然后输入命令:
svnadmin load E:\svnrepository\local --parent-dir liruixuan\test < E:\svnrepository\20091222,此命令是将local1的转储文件2009122读入版本库local的liruixuan\test目录下,参数“--parent-dir”是为了指定local下的具体路径,方法就是在“--parent-dir”后键入具体路径,这里的测试选择了二级目录liruixuan\test;运行结果如下图:
4、更新版本库local,你会发现liruixuan\test下面多了个文件夹ivy,里面有个文件test.txt ,查看local的log,会发现原版本库local的版本信息已增加了三个版本,达到了28,新增了版本信息26、27、28,对应的就是原local1的版本信息local1(1、2、3),但除了Revision号由原来的1、2、3变为26、27、28外,其它没有变化。
如果你想把迁入的版本库local1里的内容再细致的分到local的不同目录下,干脆直接用命令 svnadmin load E:\svnrepository\local < E:\svnrepository\20091222 把local1的内容迁移到local的根目录下,然后再用TortoiseSVN的版本库浏览器做细致调整,反正版本信息都已经合并在一起了,后面的操作都是在一个版本库下。
二、linux
版本库迁移(合并):指的是将两个独立的、有各自版本信息的版本库合并为一个版本库,并保留被合并的两个库的版本信息。
环境:linux+collabnet
我的版本库路径:/svn/repositories(即我的版本库是在这个路径下建立的)
操作步骤:
1、在/svn/repositories下 建立两个版本库:first和last,版本库first是我原先的版本,版本号已经到了25了,此版本库一层目录是liruixuan,二层目录是 test;在新建的版本库last中进行三次提交,增加文件夹ivy,在ivy里面增加文件test.txt,产生三条版本信息,记为test2(1,2,3);
现在把版本库last根目录下的所有内容(文件夹ivy,还有里面的test.txt)迁移到版本库first的目录liruixuan/test下;
2、输入命令:
svnadmin dump /svn/repositories/last > /svn/repositories/20091222 ,此命令是将版本库last的所有内容转储为名叫20091222的文件,当然,这个文件名可以随便;运行结果如下图:
*dumpd revision 0.
*dumpd revision 1.
........
3、然后输入命令:
svnadmin load /svn/repositories/first --parent-dir liruixuan/test < /svn/repositories/20091222,此命令是将last的转储文件2009122读入版本库first的liruixuan/test目录下,参数“--parent-dir”是为了指定first下的具体路径,方法就是在“--parent-dir”后键入具体路径,这里的测试选择了二级目录liruixuan/test;运行结果如下图:
无图
4、更新版本库first,你会发现liruixuan/test下面多了个文件夹ivy,里面有个文件test.txt ,查看first的log,会发现原版本库first的版本信息已增加了三个版本,达到了28,新增了版本信息26、27、28,对应的就是原last的版本信息local1(1、2、3),但除了Revision号由原来的1、2、3变为26、27、28外,其它没有变化。
如果你想把迁入的版本库last里的内容再细致的分到first的不同目录下,干脆直接用命令 svnadmin load /svn/repositories/first < /svn/repositories/20091222 把last的内容迁移到first的根目录下,然后再用TortoiseSVN的版本库浏览器做细致调整,反正版本信息都已经合并在一起了,后面的操作都是在一个版本库下。