自己负责九期的SVN服务器的管理,前四组已经合作开发完成,大家后期的工作是把自己当初建在本组组长里面的机房收费系统合作版(文档和图)导出到SVN服务器上,如果直接把自己建立的合作版的文件夹拷过去不能实现版本的保留,所以我们要通过新的方法来实现这个版本库的转移:任务是把原来其它分散的各个版本库统一迁移到新的版本库,集中统一管理。要求不改变原有的版本库的内容和版本号。
【基本思路】
要实现版本库的无缝迁移,必须通过以下3个步骤:
①导出旧的版本库
②导入新的版本库
③通知客户端切换版本库分支
首先来看第一步:导出旧的版本库。我们知道SVN提供了check out命令和export命令签出,导出版本库中的内容。对于版本库内容比较少的情况这种方法可以采用。但是如果版本库中内容比较多,那么这种方法就显得很笨重了,而且还涉及到版本号改变的问题。所以首先摈弃这种做法。
通过查询资料得知SVN提供了一对命令:dump和 load。不同的是这两个命令导出的是文本内容(肉眼可以读懂)。而且还有一次性导出和增量导出,单版本导出与多版本导出等多种选择操作,就是这个了,批量转存大大提高我们的工作效率。
其次我们来看“通知客户端切换版本库分支”。在我们完成服务器端的版本迁移之后,必须通知客户端运行切换分支的命令,否则客户端的提交还是提交到旧的版本库去。SVN也为我们准备了这样的命令:svn switch。
【相关命令】
首先我们来看一下SVN的dump和load命令
①svnadmin dump命令语法
svnadmin dump F:\Repositories\机房收费系统合作版 > E:\机房收费系统合作版.svn_dump
svnadmin dump命令用于导出整个Repository或Repository下的某个范围的修订版本。是将相应库中的内容导出到相应的制定位置:如下图:
svnadmin load F:\Repositories\机房收费系统合作版 --parent-dir 1 < E:\机房收费系统合作版.svn_dump
开始导入到相应路径的库 下:
执行命令:开始转存版本直到全部转存
客户端切换版本库的分支:这个现在遇到的问题是,自己的版本会在原来一个版本上增加,就算自己新建一个文件夹也是在原来版本库上增加,这个问题在积极解决中
这个深入实践后与大家 分享