CN110795100B - 分支合并方法及装置 - Google Patents
分支合并方法及装置 Download PDFInfo
- Publication number
- CN110795100B CN110795100B CN201910863946.3A CN201910863946A CN110795100B CN 110795100 B CN110795100 B CN 110795100B CN 201910863946 A CN201910863946 A CN 201910863946A CN 110795100 B CN110795100 B CN 110795100B
- Authority
- CN
- China
- Prior art keywords
- conflict
- branch
- file
- branches
- resolved
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000011161 development Methods 0.000 claims abstract description 120
- 238000012545 processing Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000004806 packaging method and process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
- G06F8/456—Parallelism detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供的分支合并方法及装置,将待合并的开发分支合并至发布分支中,获得合并结果,在合并结果为合并冲突的情况下,获取已解决的冲突分支,并将已解决的冲突分支合并至发布分支中。因为已解决的冲突分支是对冲突文件进行处理后得到的分支,所以获取已解决的冲突分支即可实现解决冲突。可见,本发明提供的方法,在开发文件合并至发布分支前,无需对开发文件做核查,只需在合并冲突的情况下,解决冲突即可,从而缩减了工作量。同时,因为已解决的冲突分支是对冲突文件进行处理后得到的分支,所以能够更有针对性的解决冲突,提高了解决冲突的效率和有效性,进一步的缩短了开发周期。
Description
技术领域
本发明涉及软件开发技术领域,特别涉及一种分支合并方法及装置。
背景技术
在软件开发过程中,往往并行存在多个开发分支,为了确保各个开发分支在发布后能正常运行,需对开发分支进行测试。
因为测试资源有限,所以通常会将多个开发分支进行合并后再进行测试,在分支合并前,为了确保开发分支合并成功,需对进行合并的各个开发分支的内容进行核查,并解决各个开发分支中存在的冲突内容。
但是,由于开发分支数量大,所以需花费大量时间去核查开发分支的内容,从而导致了整个软件开发过程周期长,效率低。所以,如何快速实现各个开发分支合并成功,成为目前亟待解决的问题。
发明内容
有鉴于此,本发明实施例提供的方法,用于解决如何快速实现各个开发分支合并成功的问题。
为实现上述目的,本发明实施例提供如下技术方案:
一种分支合并的方法,包括:
创建发布分支;
将当前待合并的开发分支合并至所述发布分支中,获得合并结果;
在获得的合并结果为合并冲突的情况下,记录冲突文件及与所述冲突文件对应的冲突信息,所述冲突信息至少包括:所述发布分支标识、产生冲突的开发分支的标识及所述冲突文件的地址;
依据所述冲突信息,获取与所述冲突文件对应的已解决的冲突分支,所述已解决的冲突分支为:在针对所述冲突文件生成冲突分支后,对所述冲突文件进行处理后得到的分支;
合并所述已解决的冲突分支至所述发布分支。
上述的方法,可选的,所述依据所述冲突信息,获取与所述冲突文件对应的已解决的冲突分支,包括:
判断历史产生冲突的开发分支的标识中是否存在当前所述冲突信息中的所述产生冲突的开发分支的标识,所述历史产生冲突的开发分支的标识为预先存储的标识;
如果存在,依据所述历史产生冲突的开发分支的标识,获取与所述冲突文件对应的已解决的冲突分支的地址;
依据所述已解决的冲突分支的地址,获取所述已解决的冲突分支。
上述的方法,可选的,还包括:
如果所述历史产生冲突的开发分支的标识中不存在当前所述产生冲突的开发分支的标识,则创建与所述冲突文件对应的冲突分支;
所述冲突分支用于响应针对所述冲突文件的编辑操作,并在所述编辑操作结束后,标记与所述冲突文件对应的已解决过的冲突分支。
上述的方法,可选的,所述创建与所述冲突文件对应的冲突分支,包括:
将所述冲突文件作为所述冲突分支的文件;
将所述冲突文件的地址作为所述冲突分支的地址;
依据所述冲突分支的文件及所述冲突分支的地址,创建与所述冲突文件对应的冲突分支。
上述的方法,可选的,合并所述已解决过的冲突分支至所述发布分支,包括:
依据所述冲突信息中的所述发布分支标识,将所述已解决过的冲突分支合并至所述发布分支。
一种分支合并装置,包括:
创建单元,用于创建发布分支;
第一合并单元,用于将当前待合并的开发分支合并至所述发布分支中,获得合并结果;
记录单元,用于在获得的合并结果为合并冲突的情况下,记录冲突文件及与所述冲突文件对应的冲突信息,所述冲突信息至少包括:所述发布分支标识、产生冲突的开发分支的标识及所述冲突文件的地址;
获取单元,用于依据所述冲突信息,获取与所述冲突文件对应的已解决的冲突分支,所述已解决的冲突分支为:在针对所述冲突文件生成冲突分支后,对所述冲突文件进行处理后得到的分支;
第二合并单元,用于合并所述已解决的冲突分支至所述发布分支。
上述的装置,可选的,所述获取单元用于依据所述冲突信息,获取与所述冲突文件对应的已解决的冲突分支,包括:
所述获取单元具体用于,判断历史产生冲突的开发分支的标识中是否存在当前所述冲突信息中的所述产生冲突的开发分支的标识,所述历史产生冲突的开发分支的标识为预先存储的标识;如果存在,依据所述历史产生冲突的开发分支的标识,获取与所述冲突文件对应的已解决的冲突分支的地址;依据所述已解决的冲突分支的地址,获取所述已解决的冲突分支。
上述的装置,可选的,所述获取单元还用于:如果所述历史产生冲突的开发分支的标识中不存在当前所述产生冲突的开发分支的标识,则创建与所述冲突文件对应的冲突分支;所述冲突分支用于响应针对所述冲突文件的编辑操作,并在所述编辑操作结束后,标记与所述冲突文件对应的已解决过的冲突分支。
上述的装置,可选的,所述获取单元用于创建与所述冲突文件对应的冲突分支,包括:
所述获取单元具体用于,将所述冲突文件作为所述冲突分支的文件;将所述冲突文件的地址作为所述冲突分支的地址;依据所述冲突分支的文件及所述冲突分支的地址,创建与所述冲突文件对应的冲突分支。
上述的装置,可选的,所述第二合并单元用于合并所述已解决过的冲突分支至所述发布分支,包括:
所述第二合并单元具体用于,依据所述冲突信息中的所述发布分支标识,将所述已解决过的冲突分支合并至所述发布分支。
本发明提供的分支合并方法及装置,将待合并的开发分支合并至发布分支中,获得合并结果,在合并结果为合并冲突的情况下,获取已解决的冲突分支,并将已解决的冲突分支合并至发布分支中。因为已解决的冲突分支是对冲突文件进行处理后得到的分支,所以获取已解决的冲突分支即可实现解决冲突。可见,本发明提供的方法,在开发文件合并至发布分支前,无需对开发文件做核查,只需在合并冲突的情况下,解决冲突即可,从而缩减了工作量。同时,因为已解决的冲突分支是对冲突文件进行处理后得到的分支,所以能够更有针对性的解决冲突,提高了解决冲突的效率和有效性,进一步的缩短了开发周期。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种分支合并的方法流程图;
图2为本申请实施例提供的另一种分支合并的方法流程图;
图3为本申请实施例提供的一种分支合并装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本申请实施例公开的一种分支合并方法,可以包括以下步骤:
S101、创建发布分支。
其中,一种创建发布分支的方法可以是,通过开源软件包SVNKit或JGit,将从主干分支中复制得到的一个分支作为发布分支。
S102、将当前待合并的开发分支合并至发布分支中,获得合并结果。
若当前待合并的开发分支为第一个合并至发布分支的分支,则合并结果为该开发分支本身。若当前待合并的开发分支不是第一个合并至发布分支的分支,即发布分支中已经存在合并至该发布分支的其他的开发分支,则合并结果为当前待合并的开发分支与发布分支中的已经存在的开发分支进行合并后得到的结果。
S103、在获得的合并结果为合并冲突的情况下,记录冲突文件及与所述冲突文件对应的冲突信息。
若当前待合并的开发分支不是第一个合并至发布分支的开发分支,则当前待合并的开发分支合并至发布分支后,很有可能与发布分支存在合并冲突。
合并冲突为合并结果中存在冲突文件,冲突文件为合并得到的文件中存在错误的代码,例如,开发分支的文件1与发布分支的文件1的合并得到的文件中,对于同一个变量a,存在a=1和a=2相互矛盾的代码,则将开发分支的文件1与分布分支的文件1合并得到的文件视为冲突文件。
其中,每一冲突文件都有与其对应的冲突信息,冲突信息可以包括:发布分支标识、产生冲突的开发分支的标识以及冲突文件的地址。发布分支标识可以是发布分支的版本号,产生冲突的开发分支的标识可以是产生冲突的开发分支的版本号。需要说明的是,针对不同代码内容的开发分支,其版本号不同。
S104、依据冲突信息,获取与冲突文件对应的已解决的冲突分支。
已解决的冲突分支为:在针对冲突文件生成冲突分支后,对冲突文件进行处理后得到的分支。其中,对冲突文件进行处理具体为纠正冲突文件中的错误代码。
依据冲突信息,获取与冲突文件对应的已解决的冲突分支的一种方式可以是:判断历史产生冲突的开发分支的标识中是否存在当前冲突信息中的产生冲突的开发分支的标识,其中,历史产生冲突的开发分支的标识为预先存储的标识。本实施例中,若获得的合并结果为冲突状态,则记录产生冲突的开发分支的标识,所以各个历史产生冲突的开发分支的标识都会被记录保存。
如果历史产生冲突的开发分支的标识中存在当前冲突信息中的产生冲突的开发分支的标识,则依据历史产生冲突的开发分支的标识,获取与冲突文件对应的已解决的冲突分支的地址。例如,获取历史产生冲突的开发分支的标识对应的已解决的冲突分支的地址,其中,任意一个历史产生冲突的开发分支的标识对应的已解决的冲突分支的地址都是预先存储的。得到已解决的冲突分支的地址后,依据已解决的冲突分支的地址,获取已解决的冲突分支。
如果历史产生冲突的开发分支的标识中不存在当前冲突信息中的产生冲突的开发分支的标识,则创建与冲突文件对应的冲突分支,冲突分支用于响应针对冲突文件的编辑操作,并在所述编辑操作结束后,标记与冲突文件对应的已解决过的冲突分支。例如,创建冲突分支后,可输出合并结果为合并冲突的提示信息,使开发人员根据提示信息对冲突分支中的冲突文件进行编辑操作,并确定编辑操作结束后,将该冲突分支作为与冲突文件对应的已解决过的冲突分支。
其中,创建与冲突文件对应的冲突分支的一种方式为:将冲突文件作为冲突分支的文件,并将冲突文件的地址作为冲突分支的地址,依据冲突分支的文件及冲突分支的地址,创建与冲突文件对应的冲突分支。
S105、合并所已解决的冲突分支至所述发布分支。
例如,依据冲突信息中的发布分支标识,确定发布分支,并将已解决的冲突分支合并至该发布分支中,从而使合并结果中的冲突文件中的冲突代码得到解决。
本实施例提供的方法,将待合并的开发分支合并至发布分支中,获得合并结果,在合并结果为合并冲突的情况下,获取已解决的冲突分支,并将已解决的冲突分支合并至发布分支中。因为已解决的冲突分支是对冲突文件进行处理后得到的分支,所以获取已解决的冲突分支即可实现解决冲突。可见,本发明提供的方法,在开发文件合并至发布分支前,无需对开发文件做核查,只需在合并冲突的情况下,解决冲突即可,从而缩减了工作量。同时,因为已解决的冲突分支是对冲突文件进行处理后得到的分支,所以能够更有针对性的解决冲突,提高了解决冲突的效率和有效性,进一步的缩短了开发周期。
本申请提供的方法可以应用于SVN(Subversion,版本控制系统)和GIT(分布式版本控制系统)两种常见的版本控制系统。下面针对本申请提供的方法应用于SVN和GIT的实现方式进行说明。
图2为本申请实施例公开的另一种分支合并方法,可以包括以下步骤:
S201、创建发布分支。
例如,针对SVN采用开源软件包SVNKit,或针对GIT采用开源软件包JGit,将从系统的主干分支中复制得到的一个分支作为发布分支。
S202、记录发布分支的版本号以及待合并的开发分支的版本号。
记录发布分支的版本号是为了实现根据发布分支的版本号可以查询到该发布分支。对于待合并的开发分支为多个分支的情况,需记录全部待合并的开发分支的版本号,以便于根据记录的开发分支的版本号统计系统中已完成合并或未完成合并的开发分支。
S203、将待合并的开发分支合并至发布分支,得到合并结果。
本实施例中,S203的实施方式可以参考图1的S102,此处不再赘述。
S204、判断合并结果是否存在冲突文件,如果不是,执行S205。如果是,执行S206。
得到合并结果后,判断合并结果中是否存在冲突文件,如果不存在冲突,说明当前的开发分支与发布分支合并成功,则执行S205,如果存在冲突,说明当前的开发分支与发布分支合并失败,则执行S206。
S205、记录合并成功的开发分支的版本号,并判断是否存在待合并的开发分支。如果是,返回步骤S203,如果不是,执行S207。
确定当前的开发分支与发布分支合并成功后,记录合并成功的开发分支的版本号,用于标识该开发分支已经合并成功,并依据在S202中记录的所有待合并的开发分支的版本号,确定是否存在待合并的开发分支,如果存在待合并的开发分支,则返回S203,将待合并的开发分支合并至发布分支中,果不存在待合并的开发分支,则执行S207。
S206、判断冲突文件是否为新的冲突文件。如果不是,执行S208,如果是,则执行S209。
在合并结果为存在冲突文件的情况下,进一步判断冲突文件是否为新的冲突文件。
S207、对发布分支进行打包。
确定不存在待合并的开发分支,即所有的开发分支成功的合并至开发分支后,采用Jenkins打包工具对发布分支进行打包。
S208、获取与冲突文件对应的已解决的冲突分支,并将该已解决的冲突分支合并至发布分支中后,返回执行步骤S205。
若合并结果中存在的冲突文件不是新的冲突,即系统中已经存在与冲突文件对应的已解决的冲突分支,则直接获取已解决的冲突分支,并将已解决的冲突分支与分布分支合并,从而实现解决合并结果中的冲突文件。
S209、得到冲突分支,并响应于针对冲突分支的编辑操作结束后,将该冲突分支作为与冲突文件对应的已解决的冲突分支。
对于SVN版本控制系统,冲突分支是依据冲突文件生成的,生成的冲突分支存储在系统的冲突目录中。对于GIT版本控制系统,直接将当前存在冲突的发布分支标识为冲突分支即可。
S210、判断版本控制系统的类型,如果版本控制系统为SVN,则执行S211,如果版本控制系统为GIT,则执行S214。
S211、判断是否存在历史的发布分支,如果是,执行S212,如果不是执行S213。
S212、删除历史发布分支。
S213、创建新的发布分支,并返回执行S202。
针对SVN版本控制系统,若冲突文件是否为新的冲突文件,则获取与冲突文件对应的已解决的冲突分支后,重新创建新的发布分支,并返回执行S202。因为已经获取与冲突文件对应的已解决的冲突分支,则在返回执行202,重新将待合并的开发分支合并至发布分支,在获得的合并结果存在冲突文件的情况下,由于此时系统中已经存在与该冲突文件对应的已解决的冲突分支,所以冲突文件不是新的冲突文件,则直接将该已解决的冲突分支合并至发布分支即可。
S214、记录发布分支的版本号,并返回执行步骤S205。
针对GIT版本控制系统,因为将当前存在冲突的发布分支标识为冲突分支,故在针对冲突分支的编辑操作结束后,即相当于针对当前的发布分支的编辑操作结束后,得到的发布分支则不存在冲突。此时,只需记录发布分支的版本号,并返回执行步骤S205,继续将待合并的开发分支合并至发布分支中。其中,记录发布分支的版本号,是为了在后续合并的过程中,若出现相同的冲突,则可依据记录发布分支的版本号,找到该发布分支,并将该发布分支作为与已解决的冲突分支。
本实施例提供的方法,通过分支合并的方法,将各个开发分支合并后再打包发布进行测试,避免了一个开发分支占用一个测试资源,从而导致在开发分支数量大的情况下,各个开发分支需排队等候进行测试的情况。所以本实施例提供的方法,可以缩短了软件的开发周期,提高了开发效率。
基于上述实施例提供的方法,在执行S201创建发布分支前,还可以先判断是否存在历史的发布分支,若存在,则删除历史的发布分支。这样操作的目的是为了便于管理,防止系统中存在大量的发布分支。
同时,在上述实施例提供的方法中,可以添加任务跟踪信息,在执行每一个步骤后,更新任务信息,用于提示系统当前任务的进程,使开发人员能够及时的掌握系统中分支合并的进度。
与图1的方法相对应,本发明实施例还提供了一种分支合并装置,用于对图1方法的具体实现,其结构示意图如图3所示,具体包括:
创建单元301,用于创建发布分支。
第一合并单元302,用于将当前待合并的开发分支合并至发布分支中,获得合并结果。
记录单元303,用于在获得的合并结果为合并冲突的情况下,记录冲突文件及与冲突文件对应的冲突信息,冲突信息至少包括:发布分支标识、产生冲突的开发分支的标识及冲突文件的地址。
获取单元304,用于依据冲突信息,获取与冲突文件对应的已解决的冲突分支,所述已解决的冲突分支为:在针对冲突文件生成冲突分支后,对冲突文件进行处理后得到的分支。
第二合并单元305,用于合并已解决的冲突分支至发布分支。
其中,获取单元304用于依据冲突信息,获取与冲突文件对应的已解决的冲突分支的实现方式包括但不限于:判断历史产生冲突的开发分支的标识中是否存在当前冲突信息中的产生冲突的开发分支的标识,历史产生冲突的开发分支的标识为预先存储的标识,如果存在,依据历史产生冲突的开发分支的标识,获取与冲突文件对应的已解决的冲突分支的地址,依据已解决的冲突分支的地址,获取所述已解决的冲突分支。
其中,获取单元304还用于,如果历史产生冲突的开发分支的标识中不存在当前产生冲突的开发分支的标识,则创建与冲突文件对应的冲突分支;冲突分支用于响应针对冲突文件的编辑操作,并在所述编辑操作结束后,标记与冲突文件对应的已解决过的冲突分支。
其中,获取单元304用于创建与冲突文件对应的冲突分支的实现方式包括但不限于,将冲突文件作为冲突分支的文件,将冲突文件的地址作为冲突分支的地址,依据冲突分支的文件及冲突分支的地址,创建与冲突文件对应的冲突分支。
其中,第二合并单元305用于合并已解决过的冲突分支至发布分支的实现方式包括但不限于,依据冲突信息中的发布分支标识,将已解决过的冲突分支合并至发布分支。
本实施例提供的装置,将待合并的开发分支合并至发布分支中,获得合并结果,在合并结果为合并冲突的情况下,获取已解决的冲突分支,并将已解决的冲突分支合并至发布分支中。因为已解决的冲突分支是对冲突文件进行处理后得到的分支,所以获取已解决的冲突分支即可实现解决冲突。可见,本发明提供的装置,在开发文件合并至发布分支前,无需对开发文件做核查,只需在合并冲突的情况下,解决冲突即可,从而缩减了工作量。同时,因为已解决的冲突分支是对冲突文件进行处理后得到的分支,所以能够更有针对性的解决冲突,提高了解决冲突的效率和有效性,进一步的缩短了开发周期。
在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (6)
1.一种分支合并的方法,其特征在于,包括:
判断是否存在历史的发布分支,若存在,则删除历史的发布分支;
创建发布分支;
将当前待合并的开发分支合并至所述发布分支中,获得合并结果;
在获得的合并结果为合并冲突的情况下,记录冲突文件及与所述冲突文件对应的冲突信息,所述冲突信息至少包括:所述发布分支标识、产生冲突的开发分支的标识及所述冲突文件的地址;
依据所述冲突信息,获取与所述冲突文件对应的已解决的冲突分支,所述已解决的冲突分支为:在针对所述冲突文件生成冲突分支后,对所述冲突文件进行处理后得到的分支,对所述冲突文件进行处理包括纠正所述冲突文件中的错误代码;
合并所述已解决的冲突分支至所述发布分支;
所述依据所述冲突信息,获取与所述冲突文件对应的已解决的冲突分支,包括:
判断历史产生冲突的开发分支的标识中是否存在当前所述冲突信息中的所述产生冲突的开发分支的标识,所述历史产生冲突的开发分支的标识为预先存储的标识;
如果存在,依据所述历史产生冲突的开发分支的标识,获取与所述冲突文件对应的已解决的冲突分支的地址;
依据所述已解决的冲突分支的地址,获取所述已解决的冲突分支;
还包括:
如果所述历史产生冲突的开发分支的标识中不存在当前所述产生冲突的开发分支的标识,则创建与所述冲突文件对应的冲突分支;
所述冲突分支用于响应针对所述冲突文件的编辑操作,并在所述编辑操作结束后,标记与所述冲突文件对应的已解决过的冲突分支。
2.根据权利要求1所述的方法,其特征在于,所述创建与所述冲突文件对应的冲突分支,包括:
将所述冲突文件作为所述冲突分支的文件;
将所述冲突文件的地址作为所述冲突分支的地址;
依据所述冲突分支的文件及所述冲突分支的地址,创建与所述冲突文件对应的冲突分支。
3.根据权利要求1所述的方法,其特征在于,合并所述已解决过的冲突分支至所述发布分支,包括:
依据所述冲突信息中的所述发布分支标识,将所述已解决过的冲突分支合并至所述发布分支。
4.一种分支合并装置,其特征在于,包括:
创建单元,用于创建发布分支;
第一合并单元,用于将当前待合并的开发分支合并至所述发布分支中,获得合并结果;
记录单元,用于在获得的合并结果为合并冲突的情况下,记录冲突文件及与所述冲突文件对应的冲突信息,所述冲突信息至少包括:所述发布分支标识、产生冲突的开发分支的标识及所述冲突文件的地址;
获取单元,用于依据所述冲突信息,获取与所述冲突文件对应的已解决的冲突分支,所述已解决的冲突分支为:在针对所述冲突文件生成冲突分支后,对所述冲突文件进行处理后得到的分支,对所述冲突文件进行处理包括纠正所述冲突文件中的错误代码;
第二合并单元,用于合并所述已解决的冲突分支至所述发布分支;
所述获取单元用于依据所述冲突信息,获取与所述冲突文件对应的已解决的冲突分支,包括:
所述获取单元具体用于,判断历史产生冲突的开发分支的标识中是否存在当前所述冲突信息中的所述产生冲突的开发分支的标识,所述历史产生冲突的开发分支的标识为预先存储的标识;如果存在,依据所述历史产生冲突的开发分支的标识,获取与所述冲突文件对应的已解决的冲突分支的地址;依据所述已解决的冲突分支的地址,获取所述已解决的冲突分支;
所述获取单元还用于:
如果所述历史产生冲突的开发分支的标识中不存在当前所述产生冲突的开发分支的标识,则创建与所述冲突文件对应的冲突分支;所述冲突分支用于响应针对所述冲突文件的编辑操作,并在所述编辑操作结束后,标记与所述冲突文件对应的已解决过的冲突分支;
所述装置还用于:判断是否存在历史的发布分支,若存在,则删除历史的发布分支。
5.根据权利要求4所述的装置,其特征在于,所述获取单元用于创建与所述冲突文件对应的冲突分支,包括:
所述获取单元具体用于,将所述冲突文件作为所述冲突分支的文件;将所述冲突文件的地址作为所述冲突分支的地址;依据所述冲突分支的文件及所述冲突分支的地址,创建与所述冲突文件对应的冲突分支。
6.根据权利要求4所述的装置,其特征在于,所述第二合并单元用于合并所述已解决过的冲突分支至所述发布分支,包括:
所述第二合并单元具体用于,依据所述冲突信息中的所述发布分支标识,将所述已解决过的冲突分支合并至所述发布分支。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910863946.3A CN110795100B (zh) | 2019-09-12 | 2019-09-12 | 分支合并方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910863946.3A CN110795100B (zh) | 2019-09-12 | 2019-09-12 | 分支合并方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110795100A CN110795100A (zh) | 2020-02-14 |
CN110795100B true CN110795100B (zh) | 2023-11-03 |
Family
ID=69427202
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910863946.3A Active CN110795100B (zh) | 2019-09-12 | 2019-09-12 | 分支合并方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110795100B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111628938B (zh) * | 2020-05-26 | 2023-06-20 | 抖音视界有限公司 | 分支合并的方法、装置、电子设备及计算机存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104123126A (zh) * | 2013-04-26 | 2014-10-29 | 阿里巴巴集团控股有限公司 | 一种用于生成合并冲突记录列表的方法和装置 |
CN105302533A (zh) * | 2014-07-25 | 2016-02-03 | 腾讯科技(深圳)有限公司 | 代码同步方法和装置 |
CN105468373A (zh) * | 2015-11-23 | 2016-04-06 | 郑州悉知信息科技股份有限公司 | 一种分支合并方法及装置 |
CN105468650A (zh) * | 2014-09-12 | 2016-04-06 | 阿里巴巴集团控股有限公司 | 一种合并冲突、冲突文件处理方法及装置 |
CN105677655A (zh) * | 2014-11-18 | 2016-06-15 | 阿里巴巴集团控股有限公司 | 一种用于并行开发的架构拆分的分析方法及装置 |
CN107016094A (zh) * | 2017-04-06 | 2017-08-04 | 深圳创维-Rgb电子有限公司 | 一种项目共享文件多人协同开发方法、装置及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080140732A1 (en) * | 2006-12-11 | 2008-06-12 | Bentley System, Inc. | Method and system for sharing file based data |
US20100031011A1 (en) * | 2008-08-04 | 2010-02-04 | International Business Machines Corporation | Method and apparatus for optimized method of bht banking and multiple updates |
US20120023476A1 (en) * | 2010-07-21 | 2012-01-26 | Mr. Yegor Bugayenko | Puzzle Driven Development (PDD) Method and Software |
US9158658B2 (en) * | 2013-10-15 | 2015-10-13 | International Business Machines Corporation | Detecting merge conflicts and compilation errors in a collaborative integrated development environment |
US20150220331A1 (en) * | 2014-02-05 | 2015-08-06 | International Business Machines Corporation | Resolving merge conflicts that prevent blocks of program code from properly being merged |
-
2019
- 2019-09-12 CN CN201910863946.3A patent/CN110795100B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104123126A (zh) * | 2013-04-26 | 2014-10-29 | 阿里巴巴集团控股有限公司 | 一种用于生成合并冲突记录列表的方法和装置 |
CN105302533A (zh) * | 2014-07-25 | 2016-02-03 | 腾讯科技(深圳)有限公司 | 代码同步方法和装置 |
CN105468650A (zh) * | 2014-09-12 | 2016-04-06 | 阿里巴巴集团控股有限公司 | 一种合并冲突、冲突文件处理方法及装置 |
CN105677655A (zh) * | 2014-11-18 | 2016-06-15 | 阿里巴巴集团控股有限公司 | 一种用于并行开发的架构拆分的分析方法及装置 |
CN105468373A (zh) * | 2015-11-23 | 2016-04-06 | 郑州悉知信息科技股份有限公司 | 一种分支合并方法及装置 |
CN107016094A (zh) * | 2017-04-06 | 2017-08-04 | 深圳创维-Rgb电子有限公司 | 一种项目共享文件多人协同开发方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110795100A (zh) | 2020-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108319854B (zh) | 一种增量代码静态扫描方法、设备及计算机可读存储介质 | |
CN110083360B (zh) | 一种应用程序代码的编译方法、装置、设备及存储介质 | |
CN111967017B (zh) | 生成依赖关系的方法、装置、终端设备及存储介质 | |
CN111144839B (zh) | 一种项目构建方法、持续集成系统及终端设备 | |
CN112395202B (zh) | 接口自动化测试方法、装置、计算机设备和存储介质 | |
CN111124480A (zh) | 应用程序包的生成方法、装置、电子设备及存储介质 | |
CN110795100B (zh) | 分支合并方法及装置 | |
US11422917B2 (en) | Deriving software application dependency trees for white-box testing | |
CN112445805A (zh) | 一种数据的查询方法及装置 | |
CN110765078B (zh) | 一种文件管理方法、装置及计算机可读存储介质 | |
CN109558249B (zh) | 一种并发操作的控制方法及装置 | |
CN113127367B (zh) | Android动态权限申请的缺陷检测方法 | |
CN107291439B (zh) | 一种目标增量数据构建方法及装置 | |
CN113126998B (zh) | 一种增量源码获取方法、装置、电子设备及存储介质 | |
CN111143790B (zh) | 代码混淆方法、装置、设备及存储介质 | |
CN111400243B (zh) | 基于流水线服务的研发管理系统以及文件存储方法、装置 | |
CN114443004A (zh) | 分支合并方法、计算机设备及计算机存储介质 | |
CN109240906B (zh) | 数据库配置信息适配方法、装置、计算机设备和存储介质 | |
CN112328382A (zh) | 一种任务调度方法、装置、服务器及存储介质 | |
CN113254020A (zh) | 固件自动编译打包的系统及方法 | |
CN114237742B (zh) | 一种动态库的加载编译方法、装置、终端及存储介质 | |
CN113176880B (zh) | 项目编译方法、装置以及计算机可读存储介质 | |
CN113448818B (zh) | 一种基于概率的日志跟踪方法、设备及介质 | |
CN115827000A (zh) | 一种安装包的安装方法及装置 | |
CN116909586A (zh) | 项目部署方法、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |