快速业务通道

让开发自动化: 针对广大开发人员的并行开发

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-05-10
.通常都会依照标记而创建分支,标记的是已发布 的代码的代码副本 — 而不是正在开发的代码(可能已经更改).图 5 展示了如何根据 1.0.0 版本标记创建 1.0.1 分支:

图 5. 根据 1.0.0 版本标记创建分支 1.0.1
根据 1.0.0 版本标记创建分支 1.0.1

版本命名

人们一直都想找到一个简单的版本命名的模式.但是,只要一个版本和下一个版本或不同项目之间所使用的版本命名模式稍有不同的话,麻烦就大了.版本模式可能有很多种.一定要选择一个既简单又能够灵活处理将来的版本的模式.我所使用的模式是 major-version.minor-version.patch,它很简单.Version 1.1.2 就是以这个命名模式命名的.也有些团队选择向版本追加一个构建号.

清单 4 通过 SVN Ant 任务调用了 SVN copy 命令,以将 brewery-1.0.0 标记中的所有文件拷贝到分支位置:


清单 4. 从版本标记创建分支的 Ant 脚本

<target name="create-branch-from-tag">

  <svn username="sadams" password="b0stonM@ss">

    <copy srcUrl="https://brewery-ci.googlecode.com/svn/tags/brewery-1.0.0"

      destUrl="https://brewery-ci.googlecode.com/svn/branches/brewery-1.0.1"

	  message="Branch created by sadams on ${TODAY}" />

  </svn>

</target>

运行清单 4 中的脚本之后,SVN 储存库应该如图 6 所示:


图 6. 从版本标记创建分支

从版本标记创建分支

在创建分支和使用 SVN Ant 任务时,一定要记得使用标记,这样您才能够提供一个可重复的过程,该过程方便源代码的维护,使您可以轻松返回到上一版本的源代码.

根据分支运行 CI

通常 CI 过程都是根据储存库的干线(即主干)而运行的.但如果想集成开发人员在分支上的变更并检查支线与干线的合并,这个原理也适用于分支.

记住主干

有些团队处理分支开发时很极端,他们所有的开发工作都从分支开始.要记住,根据主干进行开发会更轻松、更易于管理.分支就是为了并行地进行分开的开发.尽量不要滥用分支,动不动就创建分支.

图 7 展示了 SVN 的位置.在这个 Hudson 配置页面上,您还能够定义要调用的 Ant 目标.


图 7. Hudson CI 服务器根据主干构建分支并测试合并

Hudson CI 服务器根据主干构建分支并测试合并

运行 Hudson 等 CI 服务器来测试合并可以提供一个预警系统,警告可能会在开发周期中发生潜在的合并冲突.

将分支的变更合并到主干

创建分支的主要原因之一就是防止中断干线开发.但是,一定要将分支上的更改合并到主干.图 8 展示了将版本 1.0.1 合并到干线,这个干线是软件正在开发的版本 1.1.0:

图 8. SVN 时间线
将分支的变更合并到主干

在清单 5 中,我使用了 Subversion 的 merge 命令.我先输入 svn merge,接着是合并到的目标 URL,然后是合并源的 URL,是本地目录位置:


清单 5. 使用 SVN 的 merge 命令将分支开发合并到主干

$ svn merge https://brewery-ci.googlecode.com/svn/trunk 

 https://brewery-ci.googlecode.com/svn/branches/brewery-1.0.1 

 /dev/brewery --username pduvall --password password!

SVN Ant 任务没有提供合并命令,因此需要从命令行运行 merge 命令.或者使用 Ant 的 exec 任务来运行它.

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号