代码同步方法和装置制造方法及图纸

技术编号:12814457 阅读:67 留言:0更新日期:2016-02-05 14:37
本发明专利技术公开了一种代码同步方法和装置。其中,代码同步方法包括:获取目标分支的同步参数,其中,目标分支为对分支代码进行编辑的分支,目标分支具有预先配置的同步参数;从同步参数中获取冲突处理方式,并根据目标分支的分支属性和同步参数获取主干同步范围;获取目标分支上的分支代码;以及将主干同步范围内的主干代码同步至分支代码,并按照冲突处理方式处理同步过程中的冲突。通过本发明专利技术解决了现有技术中主干代码和分支代码同步需要人工操作带来的效率低的技术问题,从而达到了降低人工操作成本、提高版本发布效率的技术效果。

【技术实现步骤摘要】

本专利技术涉及软件工程领域,具体而言,涉及一种代码同步方法和装置
技术介绍
目前在分支开发模式下,开发人员一般通过手动方式来将主干上的代码更新同步到分支上,以使用SVN版本控制工具对项目进行维护为例,主干和分支的同步的主要过程在图1中示出,如图1所示,具体过程如下:1)从服务器上签出(S卩,checkout)分支代码到本地;2)选择主干上指定范围的修订号(即,revis1n号),将签出的分支代码合入主干,实现主干代码同步分支上的变更内容。其中,起始:一般是初始创建分支时的修订号,或者是最近一次同步时主干的修订号。终止:推荐的基线号或者是主干最新修订号,其中,所谓基线号是指测试通过或版本发布后的主干的修订号;3)判断同步过程是否有冲突,若有冲突,则可通过SVN选项或者手动修改代码来解决冲突;4)将解决冲突后的代码或变更后的代码提交到分支上。从上述描述可以看出,现有技术中进行主干和分支同步的技术方案存在以下缺占-^ \\\.1)需要开发人员手动操作,人工操作成本高;2)如果开发人员经常性地会忘记同步,当分支版本开发周期越长,与主干上的差异就会越多,累积的冲突就可能越多,导致最后版本发布时所要解决的冲突就越多越复杂,影响版本发布效率;3)同步过程中,开发人员需要明确知道待同步的主干版本范围,否则容易出现代码漏合或者多合入的问题,两者都会造成版本出现问题,严重影响版本质量和效率;针对相关技术中主干代码和分支代码同步需要人工操作带来的效率低的问题,目前尚未提出有效的解决方案。
技术实现思路
本专利技术实施例提供了一种代码同步方法和装置,以至少解决现有技术中主干代码和分支代码同步需要人工操作带来的效率低的技术问题。根据本专利技术实施例的一个方面,提供了一种代码同步方法。根据本专利技术实施例的代码同步方法包括:获取目标分支的同步参数,其中,所述目标分支为对分支代码进行编辑的分支,所述目标分支具有预先配置的所述同步参数;从所述同步参数中获取冲突处理方式,并根据所述目标分支的分支属性和所述同步参数获取主干同步范围;获取所述目标分支上的所述分支代码;以及将所述主干同步范围内的主干代码同步至所述分支代码,并按照所述冲突处理方式处理同步过程中的冲突。根据本专利技术实施例的另一方面,还提供了一种代码同步装置。根据本专利技术实施例的代码同步装置包括:第一获取单元,用于获取目标分支的同步参数,其中,所述目标分支为对分支代码进行编辑的分支,所述目标分支具有预先配置的所述同步参数;第二获取单元,用于从所述同步参数中获取冲突处理方式,并根据所述目标分支的分支属性和所述同步参数获取主干同步范围;第三获取单元,用于获取所述目标分支上的所述分支代码;以及同步单元,用于将所述主干同步范围内的主干代码同步至所述分支代码,并按照所述冲突处理方式处理同步过程中的冲突。在本专利技术实施例中,采用获取目标分支的同步参数,其中,所述目标分支为对所述分支代码进行编辑的分支,所述目标分支具有预先配置的所述同步参数;从所述同步参数中获取冲突处理方式,并根据所述目标分支的分支属性和所述同步参数获取主干同步范围;获取所述目标分支上的所述分支代码;以及将所述主干同步范围内的所述主干代码同步至所述分支代码,并按照所述冲突处理方式处理同步过程中的冲突。通过预先配置分支的同步参数,并按照同步参数将主干代码同步至分支代码,达到了主干同步分支可以由版本控制系统自动执行目的,进而解决了现有技术中主干代码和分支代码同步需要人工操作带来的效率低的技术问题,从而达到了降低人工操作成本、提高版本发布效率的技术效果。【附图说明】此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1是根据现有技术的一种代码同步的流程图;图2是根据本专利技术实施例的代码同步方法的流程图;图3是根据本专利技术又一实施例的代码同步方法的流程图;以及图4是根据本专利技术实施例的代码同步装置的示意图。【具体实施方式】为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本专利技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。对本专利技术实施例中所涉及的技术术语做如下解释:1、版本控制系统版本控制系统用于维护文件的所有版本,使用该系统,可以回到各文件之前的修订版本,还可以比较任意两个版本以查看它们之间的变化。本专利技术实施例所涉及的版本控制系统需要支持分支开发模式,常用的如SVN (Subvers1n),git等,在本专利技术实施例中以采用SVN作为版本控制工具进行说明。2、分支开发当一个项目下有多个迭代(一系列需求的集合)需要进行开发时,为了降低开发过程中不同迭代之间代码变更的影响,提高开发效率,则需要从主干上创建若干个副本(即分支)来进行并行开发,即分支开发。3、主干同步分支在分支开发模式下,为了确保最终发布代码的稳定性,每个分支开发完成后,需要将变更的代码提交回主干,而其它未完成的分支,则需要定期将主干上的更新同步到分支上,避免该分支最后发布时,缺少了其它已发布分支的特性。4、冲突策略在进行文件提交的过程中,可能会由于多用户更新了文件中的一些相同行而发生了冲突,在某些情况下,可以选择一些选项来解决冲突,如mine-full, theris-full, mine-confilct和theirs-conflict。若无法自动解决冲突,用户就只能手动更改文件来解决冲突。5、主干稳定修订号(revis1n)在分支开发模式下,主干代码会不断同步发布分支上的变更内容,同步过程并不能确保没有引入新的问题,所以通常情况下,分支合入主干后,会对主干的版本进行测试(可通过持续集成进行),测试通过或者版本发布后,才能确保当前修订号为稳定的版本,可以提供给其它未发布的分支进行同步,此时主干的修订号即称为稳定修订号。实施例1根据本专利技术实施例,提供了一种可以通过本申请装置实施例执行的方法实施例当前第1页1 2 3 4 5 本文档来自技高网
...

【技术保护点】
一种代码同步方法,其特征在于,包括:获取目标分支的同步参数,其中,所述目标分支为对分支代码进行编辑的分支,所述目标分支具有预先配置的所述同步参数;从所述同步参数中获取冲突处理方式,并根据所述目标分支的分支属性和所述同步参数获取主干同步范围;获取所述目标分支上的所述分支代码;以及将所述主干同步范围内的主干代码同步至所述分支代码,并按照所述冲突处理方式处理同步过程中的冲突。

【技术特征摘要】

【专利技术属性】
技术研发人员:陈莹蔡智博李赟
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1