配置管理小报110929:CVS跟踪第三方源码
l 作者:沈***([email protected]***.cn)
很多项目都是在开源项目的基础上进行再开发,那么当开源项目源码有更新时,如何将这些更新合并到自己的项目源码中呢? |
cvs使用import/branch来跟踪管理这些第三方源码,具体介绍如下
1. 假设我拿到第三方Asource程序的源码(source_0_01),本地目录为D:Asource,将它导入到test4项目库的Develop下。
a.打开Wincvs,选择Asource目录(D:Asource)
b.右键选择Import module导入
c.填写导入信息
d.在Wincvs工作目录(D:CVStest4)中更新Develop模块,显示出已将本地D:Asource的第三方源码导入到test4项目库的Develop下,版本皆为1.1.1.1
分支图能清楚的看到,以ct.cxx文件为例,branch是:FSF_DIST,tags是: source_0_01
2.对导入的第三方源码再开发。
我对第三方源码进行修改并提交,下图中1.2、1.4、1.3为本地修改版本号,修改后的版本不再显示在分支上,而是显示在主干上
分支图能清楚的看到,以ct.cxx文件为例
3.假设第三方Asource程序的源码又有了新版本(source_0_02),需要更新到再开发的项目源码中。
重复上面的操作,将新版本的第三方源码更新到本地D:Asource目录中,然后再次执行导入操作,导入到test4项目库上次导入的位置
a. 打开Wincvs,再次选择Asource目录(D:Asource),执行导入操作
分支图能清楚的看到,以ct.cxx文件为例,branch是:FSF_DIST,tags是: source_0_02
由于之前做过再开发,这次导入后会提示使用‘checkout -j' 命令将变化合并到主干上,也就是再开发的版本中
b.右键点击Checkout module
c.填写Checkout settings中的信息
d.填写Checkout settings--Merge options中的两个tag号
e.合并后会提示部分文件有冲突
f.解决冲突
g.提交源码,此时,第三方源码的新版本就合入到本地的再开发版本中了
分支图能清楚的看到,以ct.cxx文件为例,主干版本号变更为1.5,图中1.2、1.3、1.4版本是我在source_0_01版本的基础上修改的,通过上述方法,1.5版本中就包含了source_0_02版本的更新内容
4.当Asource再有新版本发布时,重复使用上面的方法就可以不断的跟踪,将新版本的更新合并到本地的再开发版本中了。
转载于:https://my.oschina.net/tadcat/blog/149813