技术标签: 文档 分支模式在Subversion环境下的应用 subversion 工具 svn 工作
一、分支模式的相关定义
模式名称 代码线规则
别名 每代码线规则
适用环境 使用多条代码线开发软件的情况下。
问题 开发人员如何知道需要将他们的代码存入哪条代码线中,并且何时保存?
动机
•每条代码线都有不同的目的 ;
•代码线的名称通常能暗示其目的;
•代码线的名称通常不能全部表达代码线的使用要点;
•如果代码写入到错误的代码线,而这错误的变更必须要回退,导致生产率的降低;
•使用正规文档描述代码线的用法会很有帮助,但是需要额外的记录和维护;
•这个文档太过拘谨就会有一点过度规划和专横了;
解决方案
除了给分支/代码线起一个有意义的名称之外,要给每条代码线明确目的,并使用简捷明了的策略描述其目的。其中应该包括以下一些要点:
•代码线包含何种工作,例如:开发、维护、一种特定的版本、功能或是子系统;
•配置项在怎样的条件下才能被检入,检出,分支,合并;
•对于不同的个人,角色,组,代码线该设置怎样的读写权限的限制;
•导入/导出关系:代码应该从其它哪些代码线中接受变更,同时应该将变更应用于其它哪些代码线;
•代码线的生命周期或结束条件;
•预期的工作负载以及集成频率。
让规则简短扼要:一个简单的经验方法是1-3段(各自25行25个字符,一页绝对是上限)。
请切记不是所有的代码线策略都需要上面所有的信息,只需要制定自己所需要的。一些版本控制工具允许在每个分支、代码线的名称上附加详细的注解,这是存放合适简短代码线规则描述的理想地方。开发者可以通过包含代码线名称的命令来查看代码线规则,而无需在别的地方找文档。否则,将代码线规则放在大家都知道的随手可得的地方(或许提供简单的命令或宏,对于给定代码线名称可以快速显示规则)。
二、对模式的分析
代码线规则这种模式实际上就是一种最基本的分支/代码线使用规范,它强调每条分支/代码线都应该以快捷而有效的方式记录其相关的信息,并且这些信息可以随时被方便的访问。
作为更进一步的要求,除了将相关信息记录在案,在某些情况下对其中部分内容(如分支的周期及合并的频率等)进行提醒甚至约束也是有其必要性的。
三、宽松访问线(Relaxed-Access Line)在Subversion环境下的实现
如上图所示:
1、每条分支/代码线代码线创建时都有效的记录相关信息
2、对分支的生命周期和合并周期提供约束控制
注:上述功能的实现是基于在系统底层屏蔽了所有不受控的分支创建操作,而只能在特定应用系统内进行分支/代码线的创建,从而使所有分支/代码线相关操作都处于受控状态
封装私有化属性黑魔法python中的下划线继承单继承多继承多态函数重写
public int updateBatch(List<Object> list){ if(list ==null || list.size() <= 0){ return -1; } SqlSessionFactory sqlSessionFactory = SpringContextUtil.getBean("sqlSessionFactory"); SqlSession sqlSession =
前言 Python编程灵活方便,R的模型方法众多,如何将两者结合起来,发挥更大的作用,值得探索。 以下是10个最常用的机器学习算法,这些算法使用了Python和R代码。考虑到机器学习在构建模型中的应用,这些速查表可以很好作为编码指南帮助你学好这些机器学习算法。Good Luck!速查表:译文源自:https://www.analyticsvidhya.com/blog/2015/09...
一、Linux 命令的基本使用01. 常用 Linux 命令的基本使用序号命令对应英文作用01lslist查看当前文件夹下的内容02pwdprint wrok directory查看当前所在文件夹03cd [目录名]change directory切换文件夹04touch [文件名]touch如果文件不存在,新建文件05mkdir [目录名]make directory创建目录06rm [文件名]...
python中的位运算符是按照二进制位对值进行操作的,因此在学习位运算之前,我们来看看二进制运算。二进制运算:整数转二进制:将正的十进制数除以二,得到的商再除以二,依次类推知道商为零或一时为止,然后在旁边标出各步的余数,最后倒着写出来,高位补零就OKimage负整数转换成二进制 :先是将对应的正整数转换成二进制后,对二进制取反,然后对结果再加一。还以42为例,负整数就是-42。image小数转换为...
具体网页不公布了:问题:打印的结果:print(resp.status_code)print(111,resp.content.decode())304111 这让我很诧异,因为我也是第一次遇见304,不知道如何下手,就百度谷歌搜索结果,看看有没有解决方法:最后找到了一些304的原理文章https://blog.csdn.net/soonfly/article/details...
ZOJ - 3607 Lazier Salesgirl 题意:有 n 个人去买面包,第 i 个人会在 ti 分钟过来买价格为 pi 的面包。如果在连续的 w 分钟内没有人来买面包,店主就会睡觉,来到店里买面包的人发现店主在睡觉就会离开(不买面包)。求卖出面包最大平均值下最小的 w。输出 w 和最平均值。题解:如果到第 i 个顾客平均盈利最多,那么它的间隔时间一定是这个顾客以前...
JSP编写的计算器哦,亲们赶紧看看 吧学点东东
为什么80%的码农都做不了架构师?>>> ...
与静态变量一样,我们也可以使用 static 修饰方法,称为静态方法或类方法。其实之前我们一直写的 main 方法就是静态方法。静态方法的使用如:public class Helloworld {//使用static关键字声明静态方法 public static void print(){ System.out.println("欢迎你!"); } publ
此脚本用于同业务服务器新增节点,同步文件使用主要使用到的技巧为:Shell 脚本传递带有空格的参数(正常遇到空格自动断开)可以通过@命令来处理即将参数7换成echo${@:7},这样将自动识别到的第7个开始,全部获取到作为最后第7个参数以下为同步脚本:#!/bin/bashRSYNC_FILE(){ if [ $# -ge 3 ];then SOU...
非计算机专业的我半路出家,对好多计算机语言基础性的知识都一知半解,今天看天猫的一个关于scrollView 子视图复用的Demo时看到了二分法的使用,所以总结学习一下数组的查找方法。弥补不足!1.简介数组的三种查找方法分别为,顺序查找,二分法查找(折半查找),分块查找顺序查找:不需要排序,遍历所有数组元素,查找时间较长。二分法查找:...