代码文件合并方法及装置、存储介质、计算机设备制造方法及图纸

技术编号:38004682 阅读:13 留言:0更新日期:2023-06-30 10:19
本申请公开了一种代码文件合并方法及装置、存储介质、计算机设备,该方法包括:获取待合并的多个初始代码文件,并按照目标排列属性分别对每个初始代码文件中的数组进行排列,获得中间代码文件;针对每个中间代码文件,基于中间代码文件中的代码嵌套关系,将同一个嵌套中的代码平铺在同一级中,形成中间代码文件对应的平铺代码文件;对多个中间代码文件各自对应的平铺代码文件进行逐级比对,标记多个平铺代码文件的各级代码中的差异化代码,并基于差异化代码对应的初始代码文件的文件编辑信息,确定每级差异化代码中的目标代码;基于目标代码对平铺代码文件进行合并得到合并代码文件,对合并代码文件进行反向组装获得目标代码文件。件。件。

【技术实现步骤摘要】
代码文件合并方法及装置、存储介质、计算机设备


[0001]本申请涉及计算机
,尤其是涉及到一种代码文件合并方法及装置、存储介质、计算机设备。

技术介绍

[0002]随着计算机技术的不断发展,人们工作、生活越来越依赖数字应用,程序开发已经普及到各个领域。以JSON文件开发为例,JSON(Java Script Object Notation,JS对象简谱)是一种轻量级的数据交换格式。它基于ECMAScript(European Computer Manufacturers Association,欧洲计算机协会制定的JS规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。
[0003]在开发过程中会通过一些工具编辑JSON,当遇到并行开发时,JSON文件会产生多个版本,不同开发人员针对相同或不同的部分进行开发,常常需要对多个版本的文件进行合并。目前对于多个版本的代码文件的合并问题,采用的是通过插件逐行比较各文件中的代码,识别其中存在差异的代码,然后由技术人员在差异代码中选择出想要保留的最终代码,从而进行代码文件合并。
[0004]但由于不同的程序开发人员的编码习惯不同,这种逐行识别的方式常常会存在识别不准确的问题,在实际应用中,多文件的代码比较和选择保留的代码的工作大多依赖于人工完成。目前对于多个版本的代码文件合并问题尚未发现较好的解决办法。

技术实现思路

[0005]有鉴于此,本申请提供了一种代码文件合并方法及装置、存储介质、计算机设备,解决了对多个版本的代码文件进行合并的问题,提升了代码文件的合并效率。
[0006]根据本申请的一个方面,提供了一种代码文件合并方法,所述方法包括:获取待合并的多个初始代码文件,并按照目标排列属性分别对每个所述初始代码文件中的数组进行排列,获得中间代码文件;针对每个所述中间代码文件,基于所述中间代码文件中的代码嵌套关系,将同一个嵌套中的代码平铺在同一级中,形成所述中间代码文件对应的平铺代码文件;对多个所述中间代码文件各自对应的平铺代码文件进行逐级比对,标记多个所述平铺代码文件的各级代码中的差异化代码,并基于所述差异化代码对应的初始代码文件的文件编辑信息,确定每级差异化代码中的目标代码;基于所述目标代码对所述平铺代码文件进行合并得到合并代码文件,依据所述合并代码文件中各级代码对应的代码嵌套关系,对所述合并代码文件进行反向组装获得目标代码文件。
[0007]可选地,多个所述初始代码文件包括一个基础代码文件和所述基础代码文件对应的至少两个已编辑代码文件;所述对多个所述中间代码文件各自对应的平铺代码文件进行逐级比对,标记多个所述平铺代码文件的各级代码中的差异化代码,包括:
分别将每个所述已编辑代码文件对应的已编辑平铺代码文件与所述基础代码文件对应的基础平铺代码文件进行逐级比对,并在识别到任一级代码不同时,将所述已编辑平铺代码文件中的任一级代码标记为差异化代码;相应地,所述基于所述差异化代码对应的初始代码文件的文件编辑信息,确定每级差异化代码中的目标代码,包括:识别每一级代码中被标记为差异化代码的文件数量;若任一级代码对应的差异化代码的文件数量为0,则将任一个平铺代码文件中的该级代码作为该级的目标代码;若任一级代码对应的差异化代码的文件数量为1,则将所述差异化代码作为该级的目标代码;若任一级代码对应的差异化代码的文件数量大于1,则基于该级差异化代码各自对应初始代码文件的文件编辑信息,确定该级差异化代码中的目标代码,其中,所述文件编辑信息包括编辑时间和/或编辑者身份。
[0008]可选地,所述文件编辑信息包括编辑时间和编辑者身份;所述基于该级差异化代码各自对应的文件编辑信息,确定该级差异化代码中的目标代码,包括:基于该级差异化代码各自对应的初始代码文件的编辑时间,将对应的编辑时间最新的差异化代码作为目标代码;若编辑时间最新的差异化代码包括多个,则基于对应的编辑者身份确定目标代码。
[0009]可选地,所述对所述合并代码文件进行反向组装获得目标代码文件之后,所述方法还包括:基于所述目标代码文件和所述已编辑代码文件,生成每个所述已编辑代码文件的修改说明,其中,所述修改说明包括所述已编辑代码文件中的被修改部分的原始代码以及所述原始代码对应的修订代码;向所述已编辑代码文件对应的第一编辑者终端发送所述修改说明。
[0010]可选地,所述向所述已编辑代码文件对应的编辑者终端发送所述修改说明之后,所述方法还包括:若接收到对所述修改说明的拟拒绝反馈信息,则基于所述拟拒绝反馈信息,确定所述修订代码中的拟拒绝修订代码;查询所述拟拒绝修订代码对应的第二编辑者终端,并向所述第二编辑者终端转发所述拟拒绝反馈信息;当接收到来自第一编辑者终端或第二编辑者终端的代码确认信息时,基于所述代码确认信息中携带的所述拟拒绝修订代码对应的最终代码,更新所述目标代码文件,其中,所述代码确认信息为经过第一编辑者终端和第二编辑者终端共同确认的信息。
[0011]可选地,所述获取待合并的多个初始代码文件,包括:在代码数据库中获取当前版本的一个基础代码文件和至少两个已编辑代码文件作为所述初始代码文件;相应地,所述方法还包括:
将所述目标代码文件作为下一个版本的基础代码文件存储在所述代码数据库中。
[0012]可选地,所述基于所述中间代码文件中的代码嵌套关系,将同一个嵌套中的代码平铺在同一级中之前,所述方法还包括:识别所述初始代码文件对应的代码类型,并获取所述代码类型对应的代码嵌套规则;基于所述代码嵌套规则,识别所述中间代码文件中的代码嵌套关系;相应地,所述依据所述合并代码文件中各级代码对应的代码嵌套关系,对所述合并代码文件进行反向组装获得目标代码文件,包括:获取所述代码类型对应的反向组装规则;依据所述合并代码文件中各级代码对应的代码嵌套关系,在所述反向组装规则中查询所述代码嵌套关系对应的反向组装方法,并基于所述反向组装方法对所述合并代码文件进行反向组装获得目标代码文件。
[0013]可选地,所述方法还包括:确定至少一种待转换代码类型,并获取所述目标代码文件的代码类型向每种所述待转换代码类型的转换规则;基于所述转换规则,对所述目标代码文件进行类型转换,获得每种所述待转换代码类型的代码转换文件。
[0014]根据本申请的另一方面,提供了一种代码文件合并装置,所述装置包括:获取模块,用于获取待合并的多个初始代码文件,并按照目标排列属性分别对每个所述初始代码文件中的数组进行排列,获得中间代码文件;平铺模块,用于针对每个所述中间代码文件,基于所述中间代码文件中的代码嵌套关系,将同一个嵌套中的代码平铺在同一级中,形成所述中间代码文件对应的平铺代码文件;比对模块,用于对多个所述中间代码文件各自对应的平铺代码文件进行逐级比对,标记多个所述平铺代码文件的各级代码中的差异化代码,并基于所述差异化代码对应的初始代码文件的文件编辑信息,确定每级差异化代码中的目标代码;组装模块,用于基于所述目标代码对所述平铺代码文件进行合并得到合并代码文件,依据所述合并代码文件中各本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种代码文件合并方法,其特征在于,所述方法包括:获取待合并的多个初始代码文件,并按照目标排列属性分别对每个所述初始代码文件中的数组进行排列,获得中间代码文件;针对每个所述中间代码文件,基于所述中间代码文件中的代码嵌套关系,将同一个嵌套中的代码平铺在同一级中,形成所述中间代码文件对应的平铺代码文件;对多个所述中间代码文件各自对应的平铺代码文件进行逐级比对,标记多个所述平铺代码文件的各级代码中的差异化代码,并基于所述差异化代码对应的初始代码文件的文件编辑信息,确定每级差异化代码中的目标代码;基于所述目标代码对所述平铺代码文件进行合并得到合并代码文件,依据所述合并代码文件中各级代码对应的代码嵌套关系,对所述合并代码文件进行反向组装获得目标代码文件。2.根据权利要求1所述的方法,其特征在于,多个所述初始代码文件包括一个基础代码文件和所述基础代码文件对应的至少两个已编辑代码文件;所述对多个所述中间代码文件各自对应的平铺代码文件进行逐级比对,标记多个所述平铺代码文件的各级代码中的差异化代码,包括:分别将每个所述已编辑代码文件对应的已编辑平铺代码文件与所述基础代码文件对应的基础平铺代码文件进行逐级比对,并在识别到任一级代码不同时,将所述已编辑平铺代码文件中的任一级代码标记为差异化代码;相应地,所述基于所述差异化代码对应的初始代码文件的文件编辑信息,确定每级差异化代码中的目标代码,包括:识别每一级代码中被标记为差异化代码的文件数量;若任一级代码对应的差异化代码的文件数量为0,则将任一个平铺代码文件中的该级代码作为该级的目标代码;若任一级代码对应的差异化代码的文件数量为1,则将所述差异化代码作为该级的目标代码;若任一级代码对应的差异化代码的文件数量大于1,则基于该级差异化代码各自对应初始代码文件的文件编辑信息,确定该级差异化代码中的目标代码,其中,所述文件编辑信息包括编辑时间和/或编辑者身份。3.根据权利要求2所述的方法,其特征在于,所述文件编辑信息包括编辑时间和编辑者身份;所述基于该级差异化代码各自对应的文件编辑信息,确定该级差异化代码中的目标代码,包括:基于该级差异化代码各自对应的初始代码文件的编辑时间,将对应的编辑时间最新的差异化代码作为目标代码;若编辑时间最新的差异化代码包括多个,则基于对应的编辑者身份确定目标代码。4.根据权利要求2所述的方法,其特征在于,所述对所述合并代码文件进行反向组装获得目标代码文件之后,所述方法还包括:基于所述目标代码文件和所述已编辑代码文件,生成每个所述已编辑代码文件的修改说明,其中,所述修改说明包括所述已编辑代码文件中的被修改部分的原始代码以及所述
原始代码对应的修订代码;向所述已编辑代码文件对应的第一编辑者终端发送所述修改说明。5.根据权利要求4所述的方法,其特征在于,所述向所述已编辑代码文件对应的编辑者终端发送所述修改说明之后,所述方法还包括:若接收到对所述修改说明的拟拒绝反馈信息,则基于所述拟拒绝反馈信息,确定所...

【专利技术属性】
技术研发人员:潘孝
申请(专利权)人:深圳前海环融联易信息科技服务有限公司
类型:发明
国别省市:

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

1