文件合并方法、装置、设备、存储介质及产品与流程

文档序号:29910188发布日期:2022-05-06 01:10阅读:104来源:国知局
文件合并方法、装置、设备、存储介质及产品与流程

1.本公开涉及计算机技术领域中的物联网领域,尤其涉及一种文件合并方法、装置、设备、存储介质及产品。


背景技术:

2.在应用程序开发过程中,按照开发阶段的不同,可以分为开发分支、集成测试分支以及正式发布分支。为了提高开发效率,可以设置多个开发分支。每个开发分支可以负责相应程序功能的开发及测试工作。每个开发分支可以对实现相应功能的仓库文件进行修改,仓库文件可以存储有应用程序的程序代码。集成测试分支可以将多个开发分支的仓库文件进行合并。合并时,通常采用手动将不同分支的针对同一仓库文件的修改合并。但是手动合并的方式工作量较大,导致软件开发过程中,集成测试分支对不同开发分支在同一个仓库文件的合并效率过低。


技术实现要素:

3.本公开提供了一种用于应用程序的集成测试的文件合并方法、装置、设备、存储介质及产品。
4.根据本公开的第一方面,提供了一种文件合并方法,包括:
5.针对任意开发分支,获取对所述开发分支的仓库文件的修改操作,获得所述仓库文件的修改记录,并将所述修改记录存储于修改文件中;
6.响应于用户触发的合并测试请求,从所述修改文件中读取至少一个所述修改记录;
7.根据至少一个所述修改记录,确定针对目标仓库文件的目标修改记录;
8.按照所述目标仓库文件的目标修改记录,对所述目标仓库文件进行合并修改处理,获得修改后的所述目标仓库文件。
9.根据本公开的第二方面,提供了一种文件合并装置,包括:
10.操作检测单元,用于针对任意开发分支,检测对所述开发分支的仓库文件的修改操作,获得所述仓库文件的修改记录,并将所述修改记录存储于修改文件中;
11.记录读取单元,用于响应于用户触发的合并测试请求,从所述修改文件中读取至少一个所述修改记录;
12.记录确定单元,用于根据至少一个所述修改记录,确定针对目标仓库文件的目标修改记录;
13.文件修改单元,用于按照所述目标仓库文件的目标修改记录,对所述目标仓库文件进行合并修改处理,获得修改后的所述目标仓库文件。
14.根据本公开的第三方面,提供了一种电子设备,包括:
15.至少一个处理器;以及
16.与所述至少一个处理器通信连接的存储器;其中,
17.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面所述的方法。
18.根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行第一方面所述的方法。
19.根据本公开的第五方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序,所述计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得电子设备执行第一方面所述的方法。
20.根据本公开的技术解决了因采用手动方式合并导致集成测试中多个仓库文件合并效率过低的问题,通过对仓库文件的修改进行记录,可以对仓库文件的修改进行准确记录,利用仓库文件的记录记录可以对应用程序的合并工作自动完成,获得准确的合并结果,通过自动执行文件的合并工作,可以提高文件的合并效率。
21.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
22.附图用于更好地理解本方案,不构成对本公开的限定。其中:
23.图1是本公开实施例提供的一种文件合并方法的一个应用示意图;
24.图2是本公开实施例提供的一种文件合并方法的一个实施例的流程图;
25.图3是本公开实施例提供的一种文件合并方法的又一个实施例的流程图;
26.图4是本公开实施例提供的一种文件合并方法的又一个实施例的流程图;
27.图5a是本公开实施例提供的一个模块的仓库文件的示例图;
28.图5b是本公开实施例提供的又一个模块的仓库文件的示例图;
29.图6是本公开实施例提供的一种修改后的仓库文件的示例图;
30.图7是本公开实施例提供的一种文件合并装置的一个实施例的结构示意图;
31.图8是用来实现本公开实施例的文件合并方法的电子设备的框图。
具体实施方式
32.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
33.本公开的技术方案可以应用于软件的集成测试场景中,在多个开发分支对同一软件的不同模块进行测试时,可以采用将多个开发分支的修改内容进行记录,并利用记录的修改内容自动完成文件合并,提高文件合并效率。
34.相关技术中,程序开发过程中,基于开发的不同阶段,可以分为开发分支、集成测试分支以及正式发布分支。其中,为了提高开发效率,可以设置多个开发分支,每个开发分支负责其开发功能的开发以及测试等工作。不同开发分支可以分别获取到对应的功能模块,并对对应的功能模块进行修改。在实际应用中,不同开发分支,可以对同一模块复用,模
块实际指运行时可以实现相应的功能的仓库文件,不同开发分支可以分别对其开发分支下的仓库文件进行修改。因此,不同开发分支开发时可以对同一仓库文件的副本进行修改,同一仓库文件可能对应多个被修改的副本。在各个开发分支开发结束,集成测试分支可以将不同开发分支对同一仓库文件的修改进行合并,例如,在a分支下,将文件a1的修改为a1’,以及在b分支下,将文件a1由a分支移动到b分支,集成测试分支将ab两个分支对a1文件的修改以及移动进行合并,得到位于b分支的a1’文件。
35.在实际应用中,由于程序代码具有复用性,不同开发分支可能对同一个仓库文件分别进行修改。在测试结束之后,集成测试分支将不同开发分支修改的内容进行合并,通常采用手动将不同分支的针对同一仓库文件的修改合并。但是手动合并的方式工作量较大,导致软件开发过程中,集成测试分支对不同开发分支在同一个仓库文件的合并效率过低。
36.为了解决上述技术问题,本公开实施例中,针对任意开发分支,可以检测开发分支的仓库文件的修改操作,获得仓库文件的修改记录,并将修改记录存储于修改文件中。修改记录可以作为修改的参考基础。在获取到用户触发的合并测试请求,可以响应于该合并测试请求,从修改文件中读取至少一个修改记录,根据至少一个修改记录,确定针对目标仓库文件的目标修改记录,并按照目标仓库文件的目标修改记录,对目标仓库文件进行合并修改处理,获得修改后的目标仓库文件。通过对仓库文件的修改进行记录,可以对仓库文件的修改进行准确记录,利用仓库文件的记录记录可以对应用程序的合并工作自动完成,获得准确的合并结果,通过自动执行文件的合并工作,可以提高文件的合并效率。
37.本公开实施例提供一种文件合并方法、装置、设备、存储介质及产品,应用于计算机技术领域中的物联网领域,以达到自动合并多个开发分支对对应的目标仓库文件的修改,提高合并效率。
38.下面将结合附图对本公开的技术方案进行详细介绍。
39.为了便于理解,如图1所示,为本公开实施例提供的一种文件合并方法的一个应用示意图。
40.在应用程序开发过程中,可以将应用程序的各个功能划分给不同的开发分支,开发分支的开发设备,例如为笔记本1可以基于开发人员的请求,从电子设备2获取被分配的开发功能对应的仓库文件,开发设备1可以检测开发人员对开发人员的修改操作,获得仓库文件的修改记录。开发设备1可以将检测到的修改操作以及修改记录,发送至电子设备,例如为计算机2。电子设备可以为用于集成测试的设备。
41.电子设备,也即计算机2可以获取任意开发分支对对应的仓库文件的修改操作,并获得仓库文件的修改记录。计算机2还可以基于本公开实施例提供的文件合并方法,对集成测试用户触发的合并测试请求进行响应,执行针对目标仓库文件的修改处理,获得修改后的目标仓库文件。通过自动对目标仓库文件进行合并修改,不需要再手动对仓库文件进行合并修改,提高仓库文件的修改效率,最终有效提升应用程序的集成测试效率。
42.如图2所示,为本公开实施例提供的一种文件合并方法的一个实施例的流程图,该方法可以配置为以文件合并装置,该文件合并装置可以位于电子设备中。其中,文件合并方法可以包括以下几个步骤:
43.201:针对任意开发分支,获取对开发分支的仓库文件的修改操作,获得仓库文件的修改记录,并将修改记录存储于修改文件中。
44.在应用程序(全称:application,简称:app)开发过程中,代码较为复杂,例如,一个超级app可以由多行代码构成,代码数量可以以万为数量级,为了提高代码的管理效率,可以将代码分为多个模块,模块数量以百为数量级。在对app开发过程中,研发人员可以同时修改一个或多个模块,对模块对应的功能进行修改或完善。为了提高开发效率,可以采用多个开发分支对相应的功能模块进行修改。本公开实施例中的任意开发分支可以指应用程序的某项功能对应的模块,该模块可以包括至少一个仓库文件。开发分支的仓库文件可以包括至少一个。研发人员可以通过用户设备对开发分支的至少一个仓库文件进行修改,并提供对至少一个仓库文件的修改操作至配置有本公开实施例的文件合并方法的电子设备。
45.因此,用户设备可以检测开发分支对应的用户对该开发分支的仓库文件的修改操作,并发送对仓库文件的修改操作至电子设备。电子设备可以接收用户设备发送的开发分支的仓库文件的修改操作。修改操作中可以包括对仓库文件的修改内容。其中,获得仓库文件的修改记录可以包括:确定修改操作中的修改内容,根据修改内容生成对仓库文件的修改记录。修改记录可以包括:修改内容、修改种类、修改的时间、被修改的仓库文件的文件名称等修改信息。
46.开发分支可以包括至少一个,可以获取对至少一个开发分支分别对应的仓库文件的修改操作,获得至少一个开发分支分别对应的仓库文件的修改记录。
47.202:响应于用户触发的合并测试请求,从修改文件中读取至少一个修改记录。
48.可选地,电子设备可以检测用户触发的合并测试请求。用户可以为对代码进行合并管理的用户。电子设备可以为用户显示合并测试的合并控件,用户触发该合并控件,此时,电子设备检测到用户触发该合并控件的情况下,则可以生成用户触发的合并测试请求。
49.从修改文件中读取的至少一个修改记录可以为至少一个开发分支的修改记录。一个开发分支可以提供一个或多个修改记录。
50.203:根据至少一个修改记录,确定针对目标仓库文件的目标修改记录。
51.可选地,目标仓库文件可以为应用程序中任一个被修改的仓库文件。
52.为了实现用户对仓库文件的修改把控,可以检测用户从至少一个仓库文件中选择的目标仓库文件,获得目标仓库文件。至少一个仓库文件可以为应用程序的所有仓库文件,当然为了提高选择效率,至少一个仓库文件还可以为应用程序中所有被修改的仓库文件。
53.为了提高修改效率,目标仓库文件还可以是自动选择的。可以从至少一个仓库文件中选择目标仓库文件。为了便于对文件进行管理,每个仓库文件可以对应有文件名称,不同仓库文件的文件名称不同。
54.根据至少一个修改记录,确定针对目标仓库文件的目标修改记录可以包括:确定至少一个修改记录分别对应的被修改的仓库文件的文件名称;从至少一个修改记录分别对应的文件名称中选择与目标仓库文件的目标文件名称相同的修改记录,获得目标修改记录。目标仓库文件的目标修改记录可以包括至少一个。目标仓库文件的至少一个目标修改记录可以为一个或多个开发分支提供的修改操作获得的。
55.204:按照目标仓库文件的目标修改记录,对目标仓库文件进行合并修改处理,获得修改后的目标仓库文件。
56.可选地,可以按照目标仓库文件的至少一个目标修改记录,对目标仓库文件进行合并处理,获得修改后的目标仓库文件。
57.按照目标修改记录,对目标仓库文件进行合并修改处理,获得修改后的目标仓库文件可以包括:确定目标仓库文件中的修改内容,根据修改内容对目标仓库文件进行合并修改处理,获得修改后的目标仓库文件。
58.本公开实施例中,针对任意开发分支,可以检测开发分支的仓库文件的修改操作,获得仓库文件的修改记录,并将修改记录存储于修改文件中。修改记录可以作为修改的参考基础。在获取到用户触发的合并测试请求,可以响应于该合并测试请求,从修改文件中读取至少一个修改记录,根据至少一个修改记录,确定针对目标仓库文件的目标修改记录,并按照目标仓库文件的目标修改记录,对目标仓库文件进行合并修改处理,获得修改后的目标仓库文件。通过对仓库文件的修改进行记录,可以对仓库文件的修改进行准确记录,利用仓库文件的记录记录可以对应用程序的合并工作自动完成,获得准确的合并结果,通过自动执行文件的合并工作,可以提高文件的合并效率。
59.作为一个实施例,将修改记录存储于修改文件中之后,还包括:
60.按照修改记录对应的修改操作,生成修改记录对应的修改指令;
61.按照目标仓库文件的目标修改记录,对目标仓库文件进行合并修改处理,获得修改后的目标仓库文件,包括:
62.获取目标修改记录对应的修改指令;
63.运行目标修改记录对应的修改指令,对目标仓库文件进行合并修改处理,获得修改后的目标仓库文件。
64.可选地,根据修改记录对应的修改操作,生成修改记录对应的修改指令,可以包括:获取修改记录对应的修改操作,获得修改记录对应的修改内容以及修改种类,根据修改内容以及修改种类生成修改记录对应的修改指令。修改内容可以包括针对仓库文件增加的内容、删除的内容,修改种类可以包括对仓库文件修改操作对应的修改类型,可以包括增加、删除或修改等类型。
65.本公开实施例中,在将修改记录存储于修改文件之后,可以按照修改记录对应的修改操作,生成修改记录对应的修改指令,在修改目标仓库文件时,可以获取目标修改记录对应的修改指令,运行该目标修改记录对应的修改指令,对目标仓库文件进行合并修改处理,获得修改后的目标仓库文件。通过按照修改记录自动生成相应的修改指令,可以在需要对目标仓库文件进行修改的情况下,直接运行修改指令,提高修改效率。
66.如图3所示,为本公开实施例提供的一种文件合并方法的一个实施例的流程图,该方法可以配置为以文件合并装置,该文件合并装置可以位于电子设备中。其中,文件合并方法可以包括以下几个步骤:
67.301:针对任意开发分支,获取对开发分支的仓库文件的修改操作,获得仓库文件的修改记录,并将修改记录存储于修改文件中。
68.本公开实施例中部分步骤与前述实施例中部分步骤相同,为了描述的简洁性考虑,在此不再赘述。
69.302:响应于用户触发的合并测试请求,从修改文件中读取至少一个修改记录。
70.303:根据至少一个修改记录分别对应的修改对象,将修改对象相同的修改记录划分至同一个修改组中,获得至少一个修改组。
71.修改记录的修改对象可以指被修改的仓库文件。修改记录中可以包括修改的仓库
文件的文件名称。修改对象可以使用仓库文件的文件名称进行标识。将修改对象相同的修改记录划分至同一个修改组中可以包括:将修改记录中文件名称相同的划分至同一个修改组中。修改组可以包括对同一个仓库文件进行修改的至少一个修改记录。
72.304:从至少一个修改组中确定目标修改组,获得目标修改组对应的修改对象为目标仓库文件。
73.为了提高修改效率,可依次从至少一个修改组中确定目标修改组,对每个目标修改组对应的修改对象对应的目标仓库文件。可以获取目标修改组中至少一个修改记录均对应的仓库文件的目标文件名称,以确定该目标文件名称对应的目标仓库文件。
74.305:读取目标修改组中的至少一个修改记录为目标修改记录。
75.目标修改记录可以由目标修改组中的至少一个修改记录构成。
76.306:按照目标仓库文件的目标修改记录,对目标仓库文件进行合并修改处理,获得修改后的目标仓库文件。
77.可选地,可以按照目标修改记录对应的至少一个修改记录,对目标仓库文件进行合并修改处理,获得修改后的目标仓库文件。在按照目标仓库文件的目标修改记录,对目标仓库文件进行合并修改处理,获得修改后的目标仓库文件之后,可以返回至从至少一个修改组中确定目标修改组的步骤继续执行,直至至少一个修改组遍历结束。
78.本公开实施例中,针对任意开发分支,可以获取开发分支的仓库文件的修改操作,获得仓库文件的修改记录,并将修改记录存储于修改文件中。相应用户触发的合并测试请求,以从修改文件中读取至少一个修改记录。可以根据至少一个修改记录分别对应的修改对象,将修改对象相同的修改记录划分至同一个修改组中,获得至少一个修改组。通过对象划分的方式,可以将同一个对象修改记录进行统一确定。从至少一个修改组中确定目标修改组,可以获得目标修改组对应的修改对象为目标仓库文件,通过确定目标修改组,可以获得该修改组对应修改对象的目标仓库文件,实现被修改仓库对象的获取,并通过目标修改组中的至少一个修改记录确定为目标修改记录,实现对同一个修改对象的修改记录的获取。提高修改对象的获取准确度。按照目标仓库文件的目标修改记录,对目标仓库文件进行合并修改处理,获得合并修改后的目标仓库文件,提高目标仓库文件的合并修改准确性以及效率。
79.作为一个实施例,从至少一个修改组中确定目标修改组可以包括:
80.将至少一个修改组进行排序,获得排序后的至少一个修改组;
81.按照至少一个修改组的排序顺序,依次从至少一个修改组中确定目标修改组。
82.在对至少一个修改组进行目标修改组的确定时,可以将至少一个修改组进行排序,可以对修改组的修改顺序进行确认,避免遗漏修改组的修改。
83.将至少一个修改组进行排序可以包括:将至少一个修改组随机进行排序。还可以包括:将至少一个修改组按照修改时间的先后顺序排序。修改组的修改时间可以包括修改组中最后一个修改记录的修改时间或者第一个修改记录的修改时间。
84.本公开实施例中,确定目标修改组时,可以先将至少一个修改组进行排序,从而按照至少一个修改组的排序顺序,依次从至少一个修改组中确定目标修改组。通过排序可以使得目标修改组的选择更具规律性,避免出现遗漏修改组,提高目标修改组的确定效率以及准确性。
85.在某些实施例中,目标仓库文件的目标修改记录可以包括至少一个。如图4所示,为本公开实施例提供的一种文件合并方法的一个实施例的流程图,该方法可以配置为以文件合并装置,该文件合并装置可以位于电子设备中。其中,文件合并方法可以包括以下几个步骤:
86.401:针对任意开发分支,获取对开发分支的仓库文件的修改操作,获得仓库文件的修改记录,并将修改记录存储于修改文件中。
87.本公开实施例中部分步骤与前述实施例中部分步骤相同,为了描述的准确性考虑在此不再赘述。
88.402:响应于用户触发的合并测试请求,从修改文件中读取至少一个修改记录。
89.403:根据至少一个修改记录,确定针对目标仓库文件的至少一个目标修改记录。
90.目标仓库文件的目标修改记录可以包括至少一个。至少一个目标修改记录均可以为针对目标仓库文件的修改记录。
91.404:确定至少一个目标修改记录分别对应的修改顺序。
92.目标仓库文件的至少一个目标修改记录可以随机确定。可以随机确定至少一个目标修改记录分别对应的修改顺序。
93.可选地,可以按照至少一个目标修改记录分别对应的修改顺序,依次使用目标修改记录对仓库文件进行修改,获得修改后的目标仓库文件。
94.405:按照至少一个目标修改记录分别对应的修改顺序,确定当前的目标修改记录,若当前的目标修改记录存在前一个目标修改记录,则利用当前的目标修改记录对前一个目标修改记录对目标仓库文件的修改结果进行再次修改,获得当前的目标修改记录的修改结果,直至最后一个目标修改记录修改完成,获得修改后的目标仓库文件。
95.按照至少一个目标修改记录分别对应的修改顺序,依次使用目标修改记录对仓库文件进行修改,获得修改后的目标仓库文件可以包括:按照至少一个目标修改记录分别对应的修改顺序,确定当前的目标修改记录,若当前的目标修改记录存在前一个目标修改记录,则利用当前的目标修改记录对前一个目标修改记录对目标仓库文件的修改结果进行再次修改,获得当前的目标修改记录的修改结果,直至最后一个目标修改记录修改完成,获得修改后的目标仓库文件。
96.在对至少一个目标修改记录分别对应的修改顺序,对至少一个修改记录对应的目标仓库文件进行合并修改时,可以将前一个目标修改记录对仓库文件的修改结果作为下一个目标修改记录对仓库文件的修改基础。
97.按照至少一个目标修改记录分别对应的修改顺序,从第一个目标修改记录开始,依次确定当前的目标修改记录。若当前的目标修改记录存在前一个目标修改记录,则利用前一个目标修改记录对目标仓库文件的修改结果进行再次修改,获得当前的目标修改记录对目标仓库文件的修改结果,返回至确定当前的目标修改记录的步骤继续执行,直至最后一个目标修改记录修改完成,获得修改后的目标仓库文件。最后一个修改记录对前一个修改记录的修改结果进行再次修改获得的修改结果即为修改后的目标仓库文件。
98.本公开实施例中,按照目标仓库文件的目标修改记录,对目标仓库文件进行合并修改处理,可以确定至少一个目标修改记录分别对应的修改顺序,按照至少一个目标修改记录分别对应的修改顺序,确定当前的目标修改记录,若当前的目标修改记录存在前一个
目标修改记录,则利用当前的目标修改记录对前一个目标修改记录对目标仓库文件的修改结果进行再次修改,获得当前目标修改记录的修改结果,直至最后一个目标修改记录修改完成,获得最终的修改结束的目标仓库文件。通过目标仓库文件的修改作用,将前一个目标修改记录的修改结果作为后一个修改记录的修改基础,实现准确的合并修改,避免出现漏修改或者无效修改,提高合并修改效率以及准确性。
99.作为一个实施例,任一个目标修改记录包括修改时间;
100.确定至少一个目标修改记录分别对应的修改顺序,包括:
101.确定目标仓库文件的至少一个目标修改记录分别对应的修改时间;
102.根据至少一个目标修改记录分别对应的修改时间,确定至少一个目标修改记录分别对应的修改顺序。
103.可选地,目标修改记录中可以包括修改时间。
104.作为一种可能的实施方式,根据至少一个目标修改记录分别对应的修改时间,确定至少一个目标修改记录分别对应的修改顺序时,若任意两个目标修改记录分别对应的修改时间相同,则随机确定修改时间相同的两个目标修改记录分别对应的修改顺序。
105.本公开实施例中,确定目标仓库文件的至少一个目标修改记录分别对应的修改时间,可以根据至少一个目标修改记录分别对应的修改时间,确定至少一个修改记录分别对应的修改顺序,将修改时间作为修改顺序的确定依据,可以对修改顺序进行准确确定。
106.在某些实施例中,目标仓库文件包括仓库所在程序模块;至少一个目标修改记录包括:变更目标仓库文件所在程序模块的文件迁移记录,以及目标仓库文件的文件内容的内容修改记录;
107.根据至少一个目标修改记录分别对应的修改时间,确定至少一个目标修改记录分别对应的修改顺序,包括:
108.若确定文件迁移记录的修改时间位于内容修改记录之前,则确定文件迁移记录的修改顺序位于内容修改记录之前;
109.若确定文件迁移记录的修改时间位于内容修改记录之后,则确定内容修改记录的修改顺序位于文件迁移记录之前。
110.在文件迁移记录的修改顺序位于内容修改记录之前的情况下,可以先使用文件迁移记录对目标仓库文件进行迁移,然后利用内容修改记录对迁移后的目标仓库文件进行修改,获得修改后的目标仓库文件。
111.在内容修改记录的修改记录位于文件迁移记录之前的情况下,可以先使用内容修改记录对目标仓库文件进行修改,获得修改结果,再利用文件迁移记录对修改结果进行迁移,获得修改后的目标仓库文件。
112.为了便于理解,图5a中的模块a可以包括仓库文件a1以及仓库文件a2,图5b中的模块b可以包括仓库文件b1以及仓库文件b2。假设u1用户提交了对仓库文件a1进行了文件迁移操作,产生对应的文件迁移记录,由a模块迁移到b模块。u2用户提交了对仓库文件a1进行了修改操作,产生对应的内容修改记录,a1变为a1’。
113.若文件迁移记录的时间位于内容修改记录的时间之前,则可以先根据文件迁移记录,将仓库文件a1迁移到模块b。然后根据内容修改记录,获取a1到a1’的修改内容,利用该修改内容对模块b中的仓库文件a1进行修改,获得位于b模块中的仓库文件a1’。
114.若内容修改记录的时间位于文件迁移记录的时间之前,则可以先根据内容修改记录,在模块a中将仓库文件a1修改为a1’。然后根据文件迁移记录,将仓库文件a1’迁移到模块b中,获得位于b模块中的仓库文件a1’。
115.参考图6,利用文件迁移记录以及内容修改记录对a模块中的仓库文件a1进行修改后,获得的模块a包括仓库文件a2,模块b包括仓库文件a1’、仓库文件b1以及仓库文件b2。
116.本公开实施例中,在根据至少一个目标修改记录分别对应的修改时间确定至少一个目标修改记录分别对应的修改顺序时,若确定文件迁移记录的修改时间位于内容修改记录之前,则确定文件迁移记录的修改顺序位于内容修改记录之前,若确定文件迁移记录的修改时间位于内容修改记录之后,则确定内容修改记录的修改顺序位于文件迁移记录之前。通过对文件迁移记录以及文件修改记录的修改时间进行先后确认,可以对文件迁移记录以及文件修改记录的顺序进行准确确认。
117.作为一个实施例,针对任一个开发分支,检测对开发分支的仓库文件的修改操作,获得仓库文件的修改记录,并将修改记录存储于修改文件中,可以包括:
118.检测属于同一开发组的至少一个开发分支提交的第一提交请求。
119.响应于第一提交请求,获取开发组传输的至少一个开发分支分别对应的仓库文件的修改操作,获得至少一个开发分支分别对应的仓库文件的修改记录,将至少一个开发分支分别对应的仓库文件的修改记录存储于修改文件中。
120.可以对同一个开发组中的至少一个开发分支提交的修改操作进行统一上传。在一种可能的设计中,修改记录的修改时间可以为开发分支提交修改操作时的提交时间。
121.本公开实施例中,以开发组作为提交单位,可以将同一开发组的至少一个开发分支分别提交的修改记录,提供至修改文件中。以开发组为单位可以提高修改记录的提交效率,使得同一组的修改内容不冲突或者重叠,提高修改记录的提交准确性。
122.作为又一个实施例,针对任意开发分支,检测对开发分支的仓库文件的修改操作,获得仓库文件的修改记录,并将修改记录存储于修改文件中,包括:
123.检测任意开发分支提交的第二提交请求。
124.响应于第二提交请求,获取开发分支提交的对其对应的仓库文件的修改操作,获得仓库文件的修改记录,并将修改记录存储于修改文件中。
125.可选地,任一个开发分支可以单独提交修改操作,生成相应的修改记录。
126.本公开实施例中,以开发分支作为体交单位,任意开发分支可以直接提交第二提交请求,响应于该第二提交请求,可以获取该开发分支分别提交的仓库文件的修改操作,获得仓库文件的修改记录,并将修改记录存储于修改文件中。通过以开发分支作为修改记录的提交单位,可以确保修改记录的修改准确性,实现开发分支的个性化提交,提高交互有效性。
127.如图7所示,为本公开实施例提供的一种文件合并装置的一个实施例的结构示意图,该装置可以位于电子设备中,文件合并装置700可以包括以下几个单元:
128.操作检测单元701:用于针对任意开发分支,检测对开发分支的仓库文件的修改操作,获得仓库文件的修改记录,并将修改记录存储于修改文件中。
129.记录读取单元702:用于响应于用户触发的合并测试请求,从修改文件中读取至少一个修改记录。
130.记录确定单元703:用于根据至少一个修改记录,确定针对目标仓库文件的目标修改记录。
131.文件修改单元704:用于按照目标仓库文件的目标修改记录,对目标仓库文件进行合并修改处理,获得修改后的目标仓库文件。
132.作为一个实施例,还包括:
133.指令生成单元,用于按照修改记录对应的修改操作,生成修改记录对应的修改指令;
134.文件修改单元,包括:
135.指令获取模块,用于获取目标修改记录对应的修改指令;
136.指令运行模块,用于运行目标修改记录对应的修改指令,对目标仓库文件进行合并修改处理,获得修改后的目标仓库文件。
137.在某些实施例中,包括:
138.对象划分模块,用于根据至少一个修改记录分别对应的修改对象,将修改对象相同的修改记录划分至同一个修改组中,获得至少一个修改组。
139.目标获取模块,用于从至少一个修改组中确定目标修改组,获得目标修改组对应的修改对象为目标仓库文件。
140.记录读取模块,用于读取目标修改组中的至少一个修改记录为目标修改记录。
141.作为一个实施例,目标获取模块,包括:
142.排序子模块,用于将至少一个修改组进行排序,获得排序后的至少一个修改组;
143.顺序确定子模块,用于按照至少一个修改组的排序顺序,依次从至少一个修改组中确定目标修改组。
144.在某些实施例中,目标仓库文件的目标修改记录包括至少一个;
145.文件修改单元,包括:
146.顺序确定模块,用于确定至少一个目标修改记录分别对应的修改顺序;
147.顺序修改模块,用于按照至少一个目标修改记录分别对应的修改顺序,确定当前的目标修改记录,若当前的目标修改记录存在前一个目标修改记录,则利用当前的目标修改记录对前一个目标修改记录对目标仓库文件的修改结果进行再次修改,获得当前的目标修改记录的修改结果,直至最后一个目标修改记录修改完成,获得对前一个修改结果再次修改获得的目标仓库文件。
148.在一种可能的设计中,任一个目标修改记录包括修改时间;
149.顺序确定模块,包括:
150.时间确定子模块,用于确定目标仓库文件的至少一个目标修改记录分别对应的修改时间;
151.顺序确定子模块,用于根据至少一个目标修改记录分别对应的修改时间,确定至少一个目标修改记录分别对应的修改顺序。
152.在某些实施例中,目标仓库文件包括仓库所在程序模块;至少一个目标修改记录包括:变更目标仓库文件所在程序模块的文件迁移记录,以及目标仓库文件的文件内容的内容修改记录;
153.顺序确定子模块,具体用于:
154.若确定文件迁移记录的修改时间位于内容修改记录之前,则确定文件迁移记录的修改顺序位于内容修改记录之前;
155.若确定文件迁移记录的修改时间位于内容修改记录之后,则确定内容修改记录的修改顺序位于文件迁移记录之前。
156.作为一个实施例,操作检测单元,包括:
157.第一检测模块,用于检测属于同一开发组的至少一个开发分支提交的第一提交请求;
158.第一获取模块,用于响应于第一提交请求,获取开发组传输的至少一个开发分支分别对对应的仓库文件的修改操作,获得至少一个开发分支分别对应的仓库文件的修改记录,将至少一个开发分支分别对应的仓库文件的修改记录存储于修改文件中。
159.作为又一个实施例,操作检测单元,包括:
160.第二检测模块,用于检测任意开发分支提交的第二提交请求;
161.第二获取模块,用于响应于第一提交请求,获取开发分支提交的对其对应的仓库文件的修改操作,获得仓库文件的修改记录,并将修改记录存储于修改文件中。
162.本公开实施例中的文件合并装置可以执行上述实施例中的文件合并方法,关于各个单元、模块、子模块所执行的具体步骤可以参考方法记载的内容,在此不再赘述。
163.本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
164.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
165.根据本公开的实施例,本公开还提供了一种计算机程序产品,计算机程序产品包括:计算机程序,计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得电子设备执行上述任一实施例提供的方案。
166.图8示出了可以用来实施本公开的实施例的示例电子设备800的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
167.如图8所示,设备800包括计算单元801,其可以根据存储在只读存储器(rom)802中的计算机程序或者从存储单元808加载到随机访问存储器(ram)803中的计算机程序,来执行各种适当的动作和处理。在ram 803中,还可存储设备800操作所需的各种程序和数据。计算单元801、rom 802以及ram 803通过总线804彼此相连。输入/输出(i/o)接口805也连接至总线804。
168.设备800中的多个部件连接至i/o接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
169.计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如文件合并方法。例如,在一些实施例中,文件合并方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由rom 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到ram 803并由计算单元801执行时,可以执行上文描述的文件合并方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行文件合并方法。
170.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、复杂可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
171.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
172.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
173.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
174.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算
系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
175.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务("virtual private server",或简称"vps")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
176.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
177.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1