51Testing软件测试论坛

标题: 面试中一个被多次问到的问题 [打印本页]

作者: zhangyunli1113    时间: 2009-7-29 09:25
标题: 面试中一个被多次问到的问题
在CVS库中,现有一个主干,三个分支,其中开发过程中三个分支中的任何一个分支增加了可以公用的新功能后,要合并到主干。
这时问题既来了,如果分支一新加了一个新功能,且是在分支二,分支三建立之后。那么分支二,分支三如何得到分支一新添加的功能模块呢?



还有一个问题就是:一个产品怎么针对多个用户进行版本控制???
作者: chenxuan    时间: 2009-7-29 11:44
你应聘的SCM?
作者: zhangyunli1113    时间: 2009-7-29 20:31
标题: 回复 2# 的帖子
我应聘的是测试,我以前做过配置管理,所以会问我这个问题!
作者: wendy811110    时间: 2009-8-1 20:03
测试的也要问这个,那估计以后测试的要兼作配置管理了~~
作者: likejuntesting    时间: 2009-8-12 14:08
我不是做配置的,不过也发表一下愚见
让开发人员对分支一,分支二,分支三均提交新开发的公用功能.

还有就是单独建立一个公用分支,如果开发前确定是公用的东西,就在这个分支上开发,开发完后就合并到其它各个分支

纯属愚见,只是希望和大家讨论一下
作者: fioncy    时间: 2009-8-17 15:23
一时没有想到更好的方法。
如果如LZ所说的这种情况,只能先把三个分支都合并到主干上,然后从主干上再新建三个分支。
但是个人认为,这样的分支结构本身有点问题,从CVS/SVN的分支功能的定义和实际使用情况来看,分支一般用于区分和标识不同版本的。也就是说,每个分支应该对应某个版本,在新功能出现后,应该在合并至主干后继续下一个新分支,此时的新分支应该包括新的功能,而老分支应该是趋于关闭的。
一般而言,良好的分支结构应该是围绕着主线的螺旋式前进的形式,如果多个分支齐头并进,一方面资源得不到良好利用,另一方面会使分支到后期呈发散状而无法顺利收敛至主干。
上面两段是闲话,只是对LZ题目本身的一些看法。当然,不同公司版本库定义和划分不同,也要具体问题具体对待。

第二个问题,如果使用分支的话,在SVN内可以设置分支读写权限,CVS不清楚;如果不用分支只是目录里的物理结构,直接配置读写权限即可。

以上为个人意见,欢迎各位大大指教。
作者: cebio    时间: 2009-9-28 18:10
同意楼上的,应该先归并老分支到主干,再新建新分支,老分支生命周期应该在归并后结束。
如果老分支生命周期不能如期结束,一定是进度方面出现了问题
作者: mentgmery    时间: 2009-9-28 18:30
LS的很有道理
作者: jlsv    时间: 2009-9-29 10:19
我的意见是,如果单纯讨论要把新功能从分支一转移到其他分支,分支间直接做比较然后合并就好,不需要用主干做过渡

因为主干一般是和实际生产环境上面的代码一致,这是为了保证从主干分出来的分支是有效的,避免出现问题然后回滚等麻烦事

扩展一点来说,我认为这个问题和测试也是有关联的,主要涉及到把新功能合并时,如何进行风险评估和回归测试,如何验证新加入的功能是否影响原有功能

至于楼上朋友说的 “应该先归并老分支到主干,再新建新分支”, 这是一个理想的情况,这样就不会出现分支之间的不同步,分支直接和主干归并就好,但是实际上不太可能,先不说往往同时开展几个项目修改代码,单单需要修改生产环境上出现的问题,我们一般就要单独开一个分支来修改。所以希望分支尽量少只是一个美好愿望罢了。
作者: cebio    时间: 2009-12-24 12:36
ls上的,
如果分支间差异比较大呢,不通过主干合并工作量是不是比较大啊,
而且就算分支间合并后测试没问题,你怎能保证和主干合并后集成测试没问题,不会对原功能影响?
并且肯定要保证从主干分出来的是个相对有效(稳定)的版本,出现问题回滚也是分支的事。

我认同这句话“良好的分支结构应该是围绕着主线的螺旋式前进的形式”,我的意思不是说“分支尽量少”,而是不管你的分支(螺线)有多少,最终在某个时候一定要和主干有交点,要相交后再分。
作者: joan4591    时间: 2010-1-8 16:59
我同意ls上说的呢,主干应该和现网生产环境的保持一致,而且分支能尽量少就少,要不然很麻烦的。
作者: 日立张    时间: 2010-1-22 13:21
沙发
作者: cxm027    时间: 2010-5-6 14:45
学习了




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2