代码合并的方法及装置制造方法及图纸

技术编号:15791681 阅读:65 留言:0更新日期:2017-07-09 21:40
本发明专利技术公开了一种代码合并的方法及装置,涉及数据处理技术领域,解决了现有的代码合并效率低的问题。本发明专利技术的方法包括:获取待修改的代码库对应的补丁文件;在所述待修改的代码库中查找与所述补丁文件对应的目录文件;按照补丁文件的提交时间顺序将补丁文件中的代码与对应的目录文件中的代码进行合并,得到修改后的代码库。本发明专利技术应用于大量代码合并的过程中。

【技术实现步骤摘要】
代码合并的方法及装置
本专利技术涉及数据处理
,尤其涉及一种代码合并的方法及装置。
技术介绍
在安卓Android项目开发中,经常会遇到Android平台升级或其他代码合并的场景。对于上述的场景,通常是需要将补丁文件与待修改的代码库进行合并,比如对于Android平台的升级,当由低的版本升级到更高的版本后,需要将之前在该平台上进行的修改的代码迁移到新的版本中。目前,常用的做法是工程师重新在高的版本对应的新代码库中修改,具体是将一个一个补丁patch(修改的代码文件)合并到新的代码库中完成代码的迁移,具体的合并的流程为通过输入代码命令获取补丁文件,再通过输入代码命令进行代码的合并,并且每一个补丁文件都需要重复上述过程,但是当补丁很多的情况下,需要重复的输入代码命令执行非常的浪费时间和人力。
技术实现思路
鉴于上述问题,本专利技术提供一种代码合并的方法及装置,用以解决现有的代码合并效率低的问题。为解决上述技术问题,第一方面,本专利技术提供了一种代码合并的方法,所述方法包括:获取待修改的代码库对应的补丁文件;在所述待修改的代码库中查找与所述补丁文件对应的目录文件;按照补丁文件的提交时间顺序将补丁文件中的代码与对应的目录文件中的代码进行合并,得到修改后的代码库。第二方面,本专利技术提供了一种代码合并的装置,所述装置包括:获取单元,用于获取待修改的代码库对应的补丁文件;第一查找单元,用于在所述待修改的代码库中查找与所述补丁文件对应的目录文件;合并单元,用于按照补丁文件的提交时间顺序将补丁文件中的代码与对应的目录文件中的代码进行合并,得到修改后的代码库。借由上述技术方案,本专利技术提供的代码合并的方法及装置,通过一个脚本程序自动实现获取补丁文件以及将对应的补丁文件合并到待修改的代码库中的过程,不需要重复的输入代码命令进行补丁的获取和合并,节省了时间和人力。而且自动化的实现代码合并的方式中完全按照补丁文件的提交的时序进行合并,可以避免人工操作过程中的补丁遗漏以及补丁顺序错乱的问题,提高了代码合并的效率。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了本专利技术实施例提供的一种代码合并的方法的流程图;图2示出了本专利技术实施例提供的另一种代码合并的方法的流程图;图3示出了本专利技术实施例提供的一种代码合并的装置的组成框图;图4示出了本专利技术实施例提供的另一种代码合并的装置的组成框图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。为解决现有的代码合并效率低的问题,本专利技术实施例提供了一种代码合并的方法,如图1所示,该方法包括:101、获取待修改的代码库对应的补丁文件。在获取待修改的代码库对应的补丁文件之前首先需要获取待修改的代码库。通常待修改的代码库是由代码管理服务器存储和管理的,常用的代码管理服务器有Gerrit服务器、Subversion(SVN)服务器等。代码管理服务器中存储有不同的代码库,当需要在某一代码库基础上进行开发或者修改时,该代码库就作为待修改的代码库,对应的对待修改的代码库进行修改的文件为对应的补丁文件patch。补丁文件与待修改的代码库存在对应关系,因此可以通过待修改的代码库获取到对应的补丁文件,补丁文件通常也存储在代码管理服务器上。另外,需要说明的是,实际应用中待修改的代码库以及对应的补丁文件也可能有其他的存储路径,这时需要根据具体的存储路径来获取对应的待修改的代码库以及对应的补丁文件。102、在待修改的代码库中查找与补丁文件对应的目录文件。一个待修改的代码库中包含不同的目录文件,补丁文件是针对不同的目录下的文件进行的修改,因此需要在待修改的代码库中查找与补丁文件对应的目录文件。需要说明的是,这里的修改包括对目录文件中原有的代码进行改动,也包括在目录文件下添加新的代码文件。具体关于查找对应的目录文件的方式为:从不同补丁文件的文件名标识中查找对应的目录文件的标识,然后根据查找到的目录文件的标识查找到对应补丁文件的目录文件。103、按照补丁文件的提交时间顺序将补丁文件中的代码与对应的目录文件中的代码进行合并,得到修改后的代码库。需要说明的是,大多数的补丁文件是有顺序的,因为一个补丁文件的产生,有可能是在其他的一个或几个补丁文件的基础上修改得到的,因此为了保证最终代码逻辑的正确性,必须按照代码修改的顺序进行合并,即按照补丁文件的提交时间顺序,先合并提交时间在前的补丁文件,每合并一个补丁文件后,在合并后的文件基础上继续按照提交时间的先后顺序合并下一个补丁文件,最终将所有的补丁文件合并到待修改的代码库中后,完成对待修改代码库的修改,得到修改后的代码库。具体代码合并时,通常是调用代码合并工具自动合并的。对于上述代码合并的方法流程中,还需要说明的是,对于步骤101中获取待修改的代码库的补丁文件时,可以一次性获取所有的补丁文件,也可以分批获取,比如按照补丁文件的提交时间的顺序分批获取。但是无论按照什么样的方式获取,必须保证步骤102中的合并顺序是按时间顺序进行的。本专利技术提供的代码合并的方法,通过一个脚本程序自动实现获取补丁文件以及将对应的补丁文件合并到待修改的代码库中的过程,不需要重复的输入代码命令进行补丁的获取和合并,节省了时间和人力。而且自动化的实现代码合并的方式中完全按照补丁文件的提交的时序进行合并,可以避免人工操作过程中的补丁遗漏以及补丁顺序错乱的问题,提高了代码合并的效率。另外,上述代码合并的方法是完全按照补丁文件的提交时间顺序进行自动化合并的,因此可以避免人工合并时发生的补丁文件的遗漏以及历史错乱的现象。对图1所示方法的细化及扩展,本专利技术实施例还提供了一种代码合并的方法,如图2所示:201、获取待修改的代码库对应的补丁文件。该步骤的实现方式与图1步骤101中的实现方式相同,此处不再赘述。需要说明的是,本步骤中获取的补丁文件包括待修改的代码库的所有的补丁文件。202、将待修改的代码库中的目录文件进行分类。通常对目录文件进行分类时,是按照不同的功能进行分类的,不同的功能之间的目录文件是指彼此之间没有相互的制约和关联性,即一个功能对应的目录文件中包含的补丁文件并不是基于其他某一个或几个功能对应的目录文件中的代码进行的修改。203、查找不同类型的目录文件对应的补丁文件。在由步骤201获取的所有补丁文件中,查找不同类型的目录文件对应的补丁文件。具体的查找方式为:在补丁文件的文件标识中查找对应的目录文件的标识,然后根据目录文件的标识查找到对应补丁文件的目录文件。204、在不同类型的目录文件中按照补丁文件的提交时间顺序将补丁文件中的代码与对应的目本文档来自技高网...
代码合并的方法及装置

【技术保护点】
一种代码合并的方法,其特征在于,包括:获取待修改的代码库对应的补丁文件;在所述待修改的代码库中查找与所述补丁文件对应的目录文件;按照补丁文件的提交时间顺序将补丁文件中的代码与对应的目录文件中的代码进行合并,得到修改后的代码库。

【技术特征摘要】
1.一种代码合并的方法,其特征在于,包括:获取待修改的代码库对应的补丁文件;在所述待修改的代码库中查找与所述补丁文件对应的目录文件;按照补丁文件的提交时间顺序将补丁文件中的代码与对应的目录文件中的代码进行合并,得到修改后的代码库。2.根据权利要求1所述的方法,其特征在于,所述按照补丁文件的提交时间顺序将补丁文件中的代码与对应的目录文件中的代码进行合并包括:调用代码合并工具按照补丁文件的提交时间顺序将补丁文件中的代码与对应的目录文件中的代码进行合并。3.根据权利要求1或2所述的方法,其特征在于,所述代码合并工具为Git,所述调用代码合并工具按照补丁文件的提交时间顺序将补丁文件中的代码与对应的目录文件中的代码进行合并,包括:判断目录文件对应的补丁文件的数量是否超过预设阈值;若超过预设阈值,则调用代码合并方式gitrebase方式进行代码的合并;若未超过预设阈值,则调用代码合并方式gitmerge方式进行代码的合并。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:实时监控代码合并的进程;当监测到代码合并冲突时,输出冲突提示框;当冲突解决后,继续执行代码的合并。5.根据权利要求1或2所述的方法,其特征在于,在调用代码合并工具按照补丁文件的提交时间顺序将补丁文件中的代码与对应的目录文件中的代码进行合并之前,所述方法还包括:将目录文件进行分类;查找不同类型的目录文件对应的补丁文件;在不同类型的目录文件中按照补丁文件的提交时间顺序将补丁文件中的代码与对应的目录文件中的代码进行合并。6.一种代码合并的装置,...

【专利技术属性】
技术研发人员:宋杨刘德启
申请(专利权)人:东软集团股份有限公司
类型:发明
国别省市:辽宁,21

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

1