有效地使用svn的分支和标签

    Subversion中的分支和标签是非常灵活的,这是因为它使用了非常简单的拷贝的动作实现了分支和标为了避免混乱,你需要制定分支和标签的使用原则。例如,什么时候创建分支,创建什么样的分支,它们如何命名。如果有这样的原则,你会发现这将增强项目团队的协作能力。
在有效地使用分支和标签前,你必须决定在什么样的环境下创建如何的的分支和标签,以及这些标签是如何在仓库里组织的。

1、如何并行开发

典型地,如果同时有多个项目同时在开发中,可能会用到基于标签来或本号创建分支。例如,你正在开发A项目,当他在1.0正式向客户发布的时候,你标识这个里程碑,然后项目继续向增加许多功能的2.0开发,在开发2.0的同时,1.0发现了bug,你在1.0的tag上,创建为修复缺陷而产生的分支。修复完毕的产品可以交付客户,并将已经修复缺陷的代码合并到2.0上。 作为一个持续开发的产品,每当有新版本的产品发布后,都应该创建一个分支,用于在将来修复该版本发现的缺陷,并和当前的开发分割开。

2、如何组织质量团队和开发团队

   大多数项目都会有独立的开发团队和测试团队。在这样的情况下,我们会创建两个分支供他们使用。一个分
支供日常开发使用,另外一个分支供质量团队使用。当开发人员完成了缺陷或新特性后,可以持续集成到质量分支上,供测试使用。
做法1:建立两个固定分支,所有的开发在一个分支上,将变化按周期或按需合并到质量分支上,供测试。
做法2:建立单个质量分支,建立多个开发分支。例如,每个开发人员或者小组可以工作在他们自己的分支上,并将工作成果周期地合并到质量分支上。这样,一个质量测试人员发现一个问题,她能够将发生问题的部分创建一个新分支,供开发人员测试。开发人员完成修复后,将成果合并到质量分支上。

3、如何解决任务或者修复缺陷

svn分支的另一个用处是可以解决问题。开发过程中,有大量的单个的缺陷和新特性。我们针对每个新特性和缺陷,我们都需要建立一个任务分支,开发人员不断地工作在每个任务上,一直到需要解决的所有问题都完成。

  在使用任务分支的时候,需要解决一些策略问题。

4、不断提升的分支(分支名称不变而内容和成熟度发生变化)

有时候,你要保持标签的名称不变,而标签所包含的内容发生变化。例如;我们用日构建驱动软件开发,并用一个标签来标识每次特殊的构建。我们总是用“DAILY_BUILD“来指示今天的构建。那默认的,需要获得最新的构建结果的开发人员,只需要检出“DAILY_BUILD“标签,就可以获得最新的构建结果。
一种方法:当发生新的构建后,删除原来标签,重新创建新标签。
另外一种方法:是使用svn:externals属性来创建一个提升性质的标签。

5、给用于构建的项目打上标签

6、里程碑和发布点标签


转自:http://hi.baidu.com/configuration/blog/item/df4b85027cef850f4bfb519f.html

猜你喜欢

转载自java-caixs-163-com.iteye.com/blog/859757