在企业级开发中,经常会有一个小团队在异地进行开发的情况,这时对于Subversion这种集中式的版本控制工具来说显然有一些困难,我们可以采用svk等基于Subversion的版本控制工具实现,但其实我们也可以利用subversion本身的一些工具实现这种分布式开发,本文既对此作了一个介绍。
1 创建远程开发分支
首先我们为准备进行异地开发的团队建立一个项目分支。假定是直接从开发主干创建分支:
svn cp file:///F:/demo/tutorial/repo/trunk
file:///F:/demo/tutorial/repo/branches/remote1
然后我们要保证这个分支只会被对应的远程开发团队使用。
2 导出分支为dump文件
假定创建分支的修订版本是修订号码是3,则对应的dump命令为
svnadmin dump repo -r 3 >remote-init.dump
3 导入为远程库并进行开发
在我们的远程开发地,创建一个新的版本库,并把刚才的dump文件导入。
svnadmin load remote-repo < remote-init.dump
然后检出对应的分支目录branches/remote1的内容,并进行远程的开发。
4 完成开发导入回源版本库
在远程开发完成之后,对远程库我们进行下面的操作
svnadmin dump remote-repo --incremental -r 2:head>remote-end.dump
然后回到中央版本库并加载回来
svnadmin load repo < remote-end.dump
可以看到对应分支包含了远程开发的内容。
5 总结
其实svk也是类似方式实现的,可以看到整个过程有许多地方需要小心操作,关于修订load的dump选项,还是多看看《使用Subversion进行版本控制》。
http://www.subversion.org.cn/?action-viewnews-itemid-28 |