加入收藏 | 设为首页 | Life家族 | SCMLife | RMLife | PMLife | SQALife | TESTLife | 企业VIP专区 | 中文化荣誉殿堂

查看完整版本: 如何进行版本控制以减少重复的BUG产生

gaoyang1209 2008-7-9 18:13

如何进行版本控制以减少重复的BUG产生

最近维护项目常出现重复的BUG,使得开发和测试都很不爽,请问大家是怎么进行版本控制来减少重复BUG的出现的?
具体情况如下:一个标准版A和两个基于标准版开发的项目B和C,测试发现B和C有个共同的BUG,测试以为是标准版的问题,于是开发修改了标准版(开发发现A确实有这个问题)。测试将修改后的版本A,B,C都修改了。问题出现了:B和C各自独有的需求可能被覆盖了。开发需要重新独自地修改B和C,但是这个工作是修改A之前已经做好了的!请问这种情况 要怎么控制它不重复地发生呢?

[[i] 本帖最后由 gaoyang1209 于 2008-7-10 12:01 编辑 [/i]]

千寻 2008-7-9 21:31

首先,MM 6点多还在加班,辛苦了
这是配置管理能够和需要解决的问题,我不回答了,把机会让给大家,答的好有奖励哦。

千寻 2008-7-11 09:04

一天多了还没有人回答,为了不让gaoyang MM继续困惑,我来回答吧,如果答的不好还请大家指正。
这个问题是开发中经常会遇到的问题,尤其在版本出现分支后,在SVN上可以通过branch/tag做分支,其实内部操作是做一个copy链接,标准版A可以看作主干trunk(在cc中好像有个集成流的概念,我理解这两个概念有相似之处),B和C就是标准版A的分支,当标准版A修改后,可以将修改部分merge到B和C,实际上是为工作拷贝打补丁,补丁内容就是由你选择的from和to决定的:from到to之间的每个修改,都会应用到merge的工作拷贝上,在merge过程中,如果发现相同被修改,svn将会提示冲突,由开发者手工合并。同样可以把B和C的修改合并到A上。

callmechen 2008-7-11 14:31

1.利用分支/合并功能
2.建立持续构建

may 2008-7-15 11:10

根据提问和回答,可否理解如下:
有三个项目ABC,其中B和C是不同需求的项目,都要基于A来进行开发,传统上应该是建立三个项目,对A进行修改后,B和C要同时进行修改,那样的话可能会出现没有修改到的情况,导致BUG重现等;现在只建立一个项目A,并以主干和两个分支分别代表项目A,项目B和项目C,通过MERGE的方式实现相同代码的同步是吧?

gaoyang1209 2008-7-16 00:37

[quote]原帖由 [i]千寻[/i] 于 2008-7-11 09:04 发表 [url=http://www.scmlife.com/bbs/redirect.php?goto=findpost&pid=103728&ptid=14032][img]http://www.scmlife.com/bbs/images/common/back.gif[/img][/url]
一天多了还没有人回答,为了不让gaoyang MM继续困惑,我来回答吧,如果答的不好还请大家指正。
这个问题是开发中经常会遇到的问题,尤其在版本出现分支后,在SVN上可以通过branch/tag做分支,其实内部操作是做一个c ... [/quote]

B和C是两个相对独立的版本,它们虽然是基于A的,却是两个不同的项目。不能将B和C的需求merge到A。

gaoyang1209 2008-7-16 00:41

其实这个是我们项目以前管理上的问题。我觉得最好的办法是将B和C分别管理,如果是B的BUG就B就改;若是C的BUG就C去改。完全独立地来管也许会好些!呵呵

谢谢版主和各位朋友的回答!::em34::

[[i] 本帖最后由 gaoyang1209 于 2008-7-16 00:43 编辑 [/i]]

千寻 2008-7-16 13:44

你的问题主要是将A的补丁打到B和C上去,又不影响B和C新增加的功能,只要将在A上做的修改Merge到B和C上就行了,呵呵,如果不需要将所有需求体现在A上,B和C上新增功能的bug只需分别修改就可以了。
页: [1]
查看完整版本: 如何进行版本控制以减少重复的BUG产生