谈谈patch strategy
所谓的patch strategy,就是软件发布后出现bug时打补丁的方式 - 主要是关于源代码branch如何组织的方式
针对项目的开发阶段、开发状态、维护方式不同,可以有不同的patching strategy
一、trunk - release
- 新版本从release branch发布
- 适合只需维护最新版本的情况 - 一般工具类型的项目
- 适合有较多的开发者在trunk上check-in代码的情况,因为trunk可能不太稳定,而且包含一些不想release的代码
- 需要release时,从trunk分支选择需要的feature,integrate到release分支并发布
- 同时,开发者继续在trunk上开发新feature
- 如果新的发布版本有bug,在release分支上fix并重新发布,然后将fix integrate回trunk
- 每次release,都要折腾release分支
二、trunk - patch
- 新版本从trunk分支发布
- 适合只需维护最新版本的情况 - 一般工具类型的项目
- 适合开发者较少,代码改变不太大的情况,trunk的状态相对比较稳定。
- 需要release时,直接从trunk分支release出去,最好打个label
- 同时,开发者继续在trunk上开发新feature
- 如果新的发布版本有bug,将代码从trunk分支integrate到patch分支,以上次发布的label为准,在patch分支fix并发布,然后将fix integrate回trunk
- 如果没有production breakage,你无需关心patch分支
三、trunk - trunk_<version>s
- 新版本从一个新的branch出去
- 适合需要维护多个版本的情况 - 你可能需要在之前发布的几个版本上fix不同的bug - 一般为library类型的项目
- 需要release时,从trunk分支integrate到trunk-<version>,并从trunk-<version>分支发布
- 同时,开发者继续在trunk上开发新feature
- 如果某个版本有bug,在该特定分支上fix并发布,然后将fix integrate回trunk
- 需要操心多个分支
谈谈patch strategy的更多相关文章
- Oracle RAC环境下如何更新patch(Rolling Patch)
Oracle RAC数据库环境与单实例数据库环境有很多共性,也有很多异性.对于数据库补丁的更新同样如此,都可以通过opatch来完成.但RAC环境的补丁更新有几种不同的更新方式,甚至于可以在零停机的情 ...
- Oracle RAC环境下怎样更新patch(Rolling Patch)
Oracle RAC数据库环境与单实例数据库环境有非常多共性,也有非常多异性.对于数据库补丁的更新相同如此.都能够通过opatch来完毕.但RAC环境的补丁更新有几种不同的更新方式,甚至于能够 ...
- Python mock 的使用
使用 mock 对象替换系统的一部分并且能获取它们的使用情况. 具体的说,你可以获取方法/属性的使用情况以及它们的调用参数.也可以指定返回值和设置属性. 思路是将对象设置为 mock 对象,然后根据需 ...
- 为什么你需要在用 Vue 渲染列表数据时指定 key
本文改写整理自一篇博文,原文链接如下: Why you should use the key directive in Vue.js with v-for Application state and ...
- [.net 面向对象程序设计深入](4)MVC 6 —— 谈谈MVC的版本变迁及新版本6.0发展方向
[.net 面向对象程序设计深入](4)MVC 6 ——谈谈MVC的版本变迁及新版本6.0发展方向 1.关于MVC 在本篇中不再详细介绍MVC的基础概念,这些东西百度要比我写的全面多了,MVC从1.0 ...
- [ASP.NET]谈谈REST与ASP.NET Web API
13天的假期结束,赶紧回来充电了 本节目录 Web API简介 自我寄宿 IIS寄宿 调用Web API Web API原理 Web API简介 REST REST是“REpresentational ...
- 基于.NET CORE微服务框架 -谈谈Cache中间件和缓存降级
1.前言 surging受到不少.net同学的青睐,也提了不少问题,提的最多的是什么时候集成API 网关,在这里回答大家最近已经开始着手研发,应该在1,2个月内会有个初版API网关,其它像Token身 ...
- 谈谈Vue.js——vue-resource全攻略
本篇文章主要介绍了谈谈Vue.js——vue-resource全攻略,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 概述 上一篇我们介绍了如何将$.ajax和Vue. ...
- opatch on-line patch and standby-fisrt patch
opatch on-line patch and standby-fisrt patch on-line patch 有缺陷,不建议使用,standby-fisrt patch 可以考虑使用 #### ...
随机推荐
- Java注解一谈
阅读目录 1.元注解 2.自定义注解 3.注解处理器 android注解框架解析 我们经常会在java代码里面看到:“@Override”,“@Target”等等样子的东西,这些是什么? 在java里 ...
- SSRS 的简单使用(二)
经过上一篇的初始,我们已经做好了报表的准备工作,接下来我们进行报表的展示和其他一下操作,并且给出一些使用RS的方法方便大家日后能灵活使用. 步骤: 1.首先拖拽表格等进入到设计模板 点击 ...
- Sql server之sql注入篇
SQL Injection 关于sql注入的危害在这里就不多做介绍了,相信大家也知道其中的厉害关系.这里有一些sql注入的事件大家感兴趣可以看一下 防范sql注入的方法无非有以下几种: 1.使用类型安 ...
- 安装了SQL2005再安装SQL 2008R2,提示此计算机上安装了 Microsoft Visual Studio 2008 的早期版本和检查是否安装了 SQL Server 2005 Express 工具的解决方案
工作电脑上安装了SQL 2005, 但是客户电脑上安装的是SQL 2008R2,有时候连接他们的库调试没法连接,很不方便.然后又安装了个SQL2008 R2,期间遇到这两个问题,网上搜索了一下收到了解 ...
- 将表里的数据批量生成INSERT语句的存储过程 继续增强版
文章继续 桦仔兄的文章 将表里的数据批量生成INSERT语句的存储过程 增强版 继续增强... 本来打算将该内容回复于桦仔兄的文章的下面的,但是不知为何博客园就是不让提交!.... 所以在这里贴出来吧 ...
- file
用来测试文件类型 $file [] filename -b列出辨识结果时,但不显示文件名称 -L如果文件是符号链接,那么直接解读其指向的文件 -z:如果文件是压缩文件,尝试去解读压缩文件的内容 $fi ...
- java运算优先级
列号 符号 名称 结合性(与操作数) 目数 说明 1 . 点 从左到右 双目 ( ) 圆括号 从左到右 [ ] 方括号 从左到右 2 + 正号 从右到左 单目 - 负号 从右到左 单目 ++ ...
- android apk 防止反编译技术第四篇-对抗JD-GUI
又到周末一个人侘在家里无事可干,这就是程序员的悲哀啊.好了我们利用周末的时间继续介绍android apk防止反编译技术的另一种方法.前三篇我们讲了加壳技术(http://my.oschina.net ...
- [HOOLOO] zizaco/entrust 5.2.x-dev Class name must be a valid object or a string
在使用laravel 5.1权限管理,使用 安装 zizaco/entrust 5.2.x-dev的时候执行 php artisan entrust:migration的时候报以下错误: [Symf ...
- iScroll4下表单元素聚焦及键盘的异常问题
本文是zawa同事写的一篇博文,相信很多在webapp开发中的同学使用iscroll4会遇到的该问题,问过zawa兄的建议,在这里分享给大家,希望能帮助到各位~ 原文地址:http://www.zaw ...