SVN方案分析
2016-10-26 23:57:25 0 举报
SVN(Subversion)是一个开源的版本控制系统,它可以帮助开发者在软件开发过程中管理和跟踪代码的变化。SVN的主要优点包括:简单易用、跨平台、支持多种开发语言、具有强大的分支和合并功能等。然而,SVN也有一些缺点,如不支持实时协作、文件锁定机制可能导致性能问题等。总体来说,SVN是一个成熟且稳定的版本控制系统,适用于中小型团队或个人开发者进行项目管理。在选择版本控制方案时,可以根据项目需求、团队规模和技术栈等因素综合考虑。
作者其他创作
大纲/内容
是
debug完成合并至CN
developer1
branch003
branchCN
SVN 基本操作 questions:1:分支合并了之后会消失吗?2:commit之后的撤销(回滚)
developer分支于与cn最新的有效节点保持同步
是否有其他分支会被合并到trunk或者说是否有人在trunk下开发
function_b通过tester&reviewer验收,通知所有其他develeper更新
能否选择性合并代码?选择版本,选择文件?如果可以,则可考虑在function_a的源分支上debug,然后合并至CN如果不可以,新建debug分支,然后合并至CN
综上,我们目前最大的不确定性其实来自分支合可能会出现的树冲突。建议使用BranchCN部署到local test server
revision的顺序,频率不同会给德国方面造成困扰???德国方面是为了做code reivew还是抽取代码(merge做不到只merge部分代码,之前有部分代码不上传的情况)还是二者都有之???
否
function_a通过tester&reviewer验收,通知所有其他develeper更新
以cn为基础建立新的debug分支
树冲突
合并至CN需要遵循的原则:原则1:必须是是完成了的,可用于测试的更新才合并只CN原则2:最近的更新必须通过了tester&reviewer的验收?需要发出的通知:通知测试人员
developer2
完成开发,合并至cn
所以在什么时候合并(主到次,次到主)分支比较好呢???
与branchCN相反
1:先测试通过,再code review 。 第二次进行code review的代价大于第二进行测试的代价
可能出现树冲突的场景
方便code review
可能的场景
测试站是否为trunk最新revison的代码
local测试站同步trunk代码(测试前,将trunk merge到测试服务器试使用的分支)
方便德国合并代码
3:树冲突处理场景3.1:文件夹冲突,并且文件夹下的file list不同:接受一方(分支1/分支2),另一方(分支2/分支)的文件会消失吗?如果不会消失,且又相同名字的文件(文件内容一样/不一样)会怎么样?
developer3
通知dev将CN更新合并至各自分支触发:terster&reviewer验收通过
出现冲突
function_a完成&提交,tester&reviewer未通过
CN分支
function_b完成&提交,tester&reviewer未通过
文件冲突
此处有一种特殊情况,如若在之后一段时间内发现function_a有bug,
dev1,dev2,dev3分别在本地解决冲突
怎么通过分支管理实现以下几个目标
发现function_a/更早function的bug
不是
local test server目标:1:与test server保持代码同步2:只将local测试通过的代码添跟新至trunk local test server只含有测试通过或者等待测试的代码(也就是不含正在开发的代码)。这样不论是通过合并还是抽取,只要在操作前完成测试并通过测试即可。可通过在cn分支基础上创建分支的方式实现(one developer one branch ) 通过抽取会导致: 无法发现冲突,导致代码覆盖 本身存在的冲突(文件/树冲突both?)无法发现,更可能制造树冲突 通过合并: 分支是否会消失?貌似不会 需要解决树冲突。
通知dev将CN更新合并至各自分支
local server使用branch003还是branchCN作为中国团队的开发主干(二选一)
好处是:短时间内不用做merge from trunk,避免来自trunk的树冲突 (trunk的树冲突可能又哪些情况?)坏处是:需要将003开发的功能加到BracnCN分支;有两个途径:一个是merge from branch003,同样会有树冲突的可能二十:抽取新功能 (SVN 补丁/Diff),添加到BranchCN。Diff 丢失版本信息,补丁会丢失吗?
situation1: function_b中增加了cn中没有的function_b_1文件/目录,已经合并至cn 此时跟新cn至dev3会出现什么问题? 此时跟新cn至dev2会出现什么问题? 此时跟新cn至dev1会出现什么问题?situaction2:
0 条评论
下一页