SVN版本库的迁移

时间:2022-04-20 06:34:06

        自己负责九期的SVN服务器的管理,前四组已经合作开发完成,大家后期的工作是把自己当初建在本组组长里面的机房收费系统合作版(文档和图)导出到SVN服务器上,如果直接把自己建立的合作版的文件夹拷过去不能实现版本的保留,所以我们要通过新的方法来实现这个版本库的转移:任务是把原来其它分散的各个版本库统一迁移到新的版本库,集中统一管理。要求不改变原有的版本库的内容和版本号。

基本思路】


要实现版本库的无缝迁移,必须通过以下3个步骤:
 
导出旧的版本库
 
导入新的版本库
 
通知客户端切换版本库分支

首先来看第一步:导出旧的版本库。我们知道SVN提供了check out命令和export命令签出,导出版本库中的内容。对于版本库内容比较少的情况这种方法可以采用。但是如果版本库中内容比较多,那么这种方法就显得很笨重了,而且还涉及到版本号改变的问题。所以首先摈弃这种做法。

通过查询资料得知SVN提供了一对命令:dump load。不同的是这两个命令导出的是文本内容(肉眼可以读懂)。而且还有一次性导出和增量导出,单版本导出与多版本导出等多种选择操作,就是这个了,批量转存大大提高我们的工作效率。

其次我们来看通知客户端切换版本库分支。在我们完成服务器端的版本迁移之后,必须通知客户端运行切换分支的命令,否则客户端的提交还是提交到旧的版本库去。SVN也为我们准备了这样的命令:svn switch

相关命令】


首先我们来看一下SVNdumpload命令

svnadmin dump命令语法

svnadmin dump F:\Repositories\机房收费系统合作版 > E:\机房收费系统合作版.svn_dump

svnadmin dump命令用于导出整个RepositoryRepository下的某个范围的修订版本。是将相应库中的内容导出到相应的制定位置:如下图:SVN版本库的迁移

 

svnadmin load F:\Repositories\机房收费系统合作版 --parent-dir 1 < E:\机房收费系统合作版.svn_dump

开始导入到相应路径的库 下:

SVN版本库的迁移

 

执行命令:开始转存版本直到全部转存

SVN版本库的迁移

 

 

客户端切换版本库的分支:这个现在遇到的问题是,自己的版本会在原来一个版本上增加,就算自己新建一个文件夹也是在原来版本库上增加,这个问题在积极解决中

 SVN版本库的迁移

这个深入实践后与大家 分享