jasmine214--love

只有当你的内心总是充满快乐、美好的愿望和宁静时,你才能拥有强壮的体魄和明朗、快乐或者宁静的面容。
posts - 731, comments - 60, trackbacks - 0, articles - 0

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

Posted on 2011-11-15 09:50 幻海蓝梦 阅读(1109) 评论(0)  编辑  收藏 所属分类: 版本管理配置管理

一、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的版本库浏览器做细致调整,反正版本信息都已经合并在一起了,后面的操作都是在一个版本库下。

原文:
http://blog.sina.com.cn/s/blog_5d8165e00100fxd3.html

只有注册用户登录后才能发表评论。


网站导航: