分支模式在SVN环境下的应用——代码线规则(规则模式)
来源:互联网 发布:vue.js 2.0文档离线版 编辑:程序博客网 时间:2024/05/03 16:07
一、分支模式的相关定义
模式名称 代码线规则
别名 每代码线规则
适用环境 使用多条代码线开发软件的情况下。
问题 开发人员如何知道需要将他们的代码存入哪条代码线中,并且何时保存?
动机
•每条代码线都有不同的目的 ;
•代码线的名称通常能暗示其目的;
•代码线的名称通常不能全部表达代码线的使用要点;
•如果代码写入到错误的代码线,而这错误的变更必须要回退,导致生产率的降低;
•使用正规文档描述代码线的用法会很有帮助,但是需要额外的记录和维护;
•这个文档太过拘谨就会有一点过度规划和专横了;
解决方案
除了给分支/代码线起一个有意义的名称之外,要给每条代码线明确目的,并使用简捷明了的策略描述其目的。其中应该包括以下一些要点:
•代码线包含何种工作,例如:开发、维护、一种特定的版本、功能或是子系统;
•配置项在怎样的条件下才能被检入,检出,分支,合并;
•对于不同的个人,角色,组,代码线该设置怎样的读写权限的限制;
•导入/导出关系:代码应该从其它哪些代码线中接受变更,同时应该将变更应用于其它哪些代码线;
•代码线的生命周期或结束条件;
•预期的工作负载以及集成频率。
让规则简短扼要:一个简单的经验方法是1-3段(各自25行25个字符,一页绝对是上限)。
请切记不是所有的代码线策略都需要上面所有的信息,只需要制定自己所需要的。一些版本控制工具允许在每个分支、代码线的名称上附加详细的注解,这是存放合适简短代码线规则描述的理想地方。开发者可以通过包含代码线名称的命令来查看代码线规则,而无需在别的地方找文档。否则,将代码线规则放在大家都知道的随手可得的地方(或许提供简单的命令或宏,对于给定代码线名称可以快速显示规则)。
二、对模式的分析
代码线规则这种模式实际上就是一种最基本的分支/代码线使用规范,它强调每条分支/代码线都应该以快捷而有效的方式记录其相关的信息,并且这些信息可以随时被方便的访问。
作为更进一步的要求,除了将相关信息记录在案,在某些情况下对其中部分内容(如分支的周期及合并的频率等)进行提醒甚至约束也是有其必要性的。
三、宽松访问线(Relaxed-Access Line)在Subversion环境下的实现
如上图所示:
1、每条分支/代码线代码线创建时都有效的记录相关信息
2、对分支的生命周期和合并周期提供约束控制
注:上述功能的实现是基于在系统底层屏蔽了所有不受控的分支创建操作,而只能在特定应用系统内进行分支/代码线的创建,从而使所有分支/代码线相关操作都处于受控状态
参见:SmartChange并行开发管理模块
- 分支模式在SVN环境下的应用——代码线规则(规则模式)
- 分支模式在SVN环境下的应用——代码所有权(规则模式)
- 分支模式在SVN环境下的应用——宽松访问线(规则模式)
- 分支模式在SVN环境下的应用——主线(结构模式)
- 分支模式在SVN环境下的应用——大爆炸式集成(反模式)
- 分支模式在SVN环境下的应用
- ArcGIS10拓扑规则-线规则
- atoi 在 Unicode 模式下的应用
- 策略模式-在不同时间应用不同的业务规则(封装算法)
- SVN Serve 模式在XP下的配置记录
- 实模式汇编代码header.S——准备实模式下C语言环境
- PADS布线布局规则(【layout规则对router不适用】【不能拉layout的最小走线规则的线】)
- 设计模式——6.单例模式(包含多线程环境下的一些写法)
- GIT从创建分支到如何在分支和主分支两种模式下开发
- 单例模式如何在多线程环境下保证安全—Double Checked Locking 模式使用
- 在应用环境中如何构造最优的数据库模式
- MVC模式下的命名规则
- SVN主干/分支开发模式分享
- [AJAA]Asynchronization JavaScript And ActiveX 思想分析
- 配而论道——从大禹治水看软件配置管理
- WEBLOGIC部署 详细文档--贴图
- 跨越鸿沟——从实践角度看软件配置管理
- Subversion实践案例——配置管理和缺陷跟踪的整合
- 分支模式在SVN环境下的应用——代码线规则(规则模式)
- Subversion实践案例——配置管理和缺陷跟踪的整合
- Subversion实践案例——合并跟踪
- Mac OS X 如何执行应用程序
- Mysql中插入中文及中文查询 (修改+调试)
- 精油的使用方法
- 谁做的案
- [BBC地道英语] Bottom line 最低价格
- "bottom line" 和 "底线”可以互译吗?