CN111984307A - 一个自动修复基线版本的处理方法及装置 - Google Patents
一个自动修复基线版本的处理方法及装置 Download PDFInfo
- Publication number
- CN111984307A CN111984307A CN202010857285.6A CN202010857285A CN111984307A CN 111984307 A CN111984307 A CN 111984307A CN 202010857285 A CN202010857285 A CN 202010857285A CN 111984307 A CN111984307 A CN 111984307A
- Authority
- CN
- China
- Prior art keywords
- version
- difference
- baseline
- target version
- target
- 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.)
- Pending
Links
Images
Classifications
-
- 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)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例公开了一种自动修复基线版本的处理方法,用于节省人工成本和时间和提高开发效率。本申请实施例方法包括:系统确定本地服务基线版本与服务器最新基线版本的差异为第一差异点;确定本地服务基线版本与修改后的基线版本的差异为第二差异点;根据第一差异点及第二差异点判断同一文件中是否具有相同位置代码段的修改;若否,则将基于修改后的基线版本中修改的代码段合成到服务器最新基线版本上,合成后的基线版本为第一目标版本;判断第一目标版本是否通过语法语言校验;若否,则对第一目标版本进行校验修复完成后得到第二目标版本;判断第二目标版本是否通过编译校验;若是,则更新第二目标版本至服务器最新基线版本。
Description
技术领域
本申请实施例涉及系统优化领域,尤其涉及一种自动修复基线版本的处理方法及装置。
背景技术
在当今的产业互联网时代,代码开发得到了较为快速的发展,编程在各行各业展现出的巨大的价值,激发了更多对计算机系统的需求。
目前,当开发人员接收到开发任务时,都会利用本地的集成开发工具从服务器上更新最新的代码基线版本库,并在这个最新的代码基线版本库上进行本地代码的开发修改,当多个开发任务并发进行或多个开发人员进行团队开发时,若某一个开发任务团队先提交一个代码修改版本,更新服务器基线库后,后续开发任务提交代码时,如果存在修改相同代码文件的情况,就会出现版本冲突的情况。
针对出现版本冲突的情况,目前更依赖于人工对代码冲突处进行改进和优化,需要耗费大量的人工成本和时间,开发效率低下。
发明内容
本申请实施例提供了一种自动修复基线版本的处理方法及装置,能够采用系统自动对版本进行修复,大大节省了人工成本和时间以及提高了开发效率。
本申请实施例在第一方面提供了一种自动基线修复版本的处理方法,包括:
系统确定本地服务基线版本与服务器最新基线版本的差异为第一差异点;
所述系统确定所述本地服务基线版本与修改后的基线版本的差异为第二差异点;
所述系统根据所述第一差异点及所述第二差异点判断同一文件中是否具有相同位置代码段的修改;
若否,则所述系统将基于所述修改后的基线版本中修改的代码段合成到所述服务器最新基线版本上,合成后的基线版本为第一目标版本;
所述系统判断所述第一目标版本是否通过语法语言校验,所述语法语言校验为对目标版本的代码形式的校验;
若否,则所述系统对所述第一目标版本进行校验修复得到第二目标版本,所述第二目标版本为符合语法语言校验的基线版本;
所述系统判断所述第二目标版本是否通过编译校验,所述编译校验为对目标版本的代码格式的校验;
若是,则所述系统更新所述第二目标版本至所述服务器最新基线版本。
可选的,所述系统根据所述第一差异点以及所述第二差异点判断同一文件中是否具有相同位置代码段的修改,包括:
所述系统比对所述第一差异点和所述第二差异点中的差异;
所述系统根据所述差异判断同一文件中是否具有相同位置代码段的修改。
可选的,所述系统比对所述第一差异点和所述第二点差异点中的差异,包括:
所述系统接收所述本地服务基线版本发送的差异点代码比对指令,所述差异点代码比对指令为对不同版本的同一文件进行差异点比对的指令;
所述系统识别同一文件不同版本所提取出的所述第一差异点的第一代码段;
所述系统识别同一文件不同版本所提取出的所述第二差异点的第二代码段;
所述系统根据对所述第一代码段和所述第二代码段的比较结果来比对所述第一差异点和所述第二差异点的差异。
可选的,所述系统根据所述第一差异点以及所述第二差异点判断同一文件中是否具有相同位置代码段的修改之后,所述方法还包括:
若是,则所述系统对所述相同位置代码段进行代码冲突的修复,再将修复好的代码段合成到所述服务器最新基线版本上。
可选的,所述系统根据所述第一差异点以及所述第二差异点判断同一文件中是否具有相同位置代码段的修改之后,对所述相同位置代码段进行代码冲突的修复之前,所述方法还包括:
所述系统设置预警机制,所述预警机制用于当同一文件中有代码冲突时发出预警信号;
所述系统接收所述预警机制反馈的预警通知,所述预警通知为同一文件中有代码冲突的通知。
可选的,所述系统判断所述第一目标版本是否通过语法语言校验之后,所述方法还包括:
若是,则所述系统设置所述第一目标版本为第二目标版本。
可选的,所述系统判断所述第二目标版本是否通过编译校验之后,所述方法还包括:
若否,则所述系统对所述第二目标版本进行编译修复得到所述第三目标版本,所述第三目标版本为符合编译校验的基线版本,并将所述第三目标版本更新到所述服务器最新基线版本。
可选的,所述系统将基于所述修改后的基线版本中修改的代码段合成到所述服务器最新基线版本上之前,所述方法还包括:
所述系统存储所述本地服务基线版本的内容,存储的所述本地服务基线版本的内容用于后续需要时回归备用。
本申请实施例在第二方面提供了一种自动基线修复版本的处理装置,包括:
第一确定单元,用于确定本地服务基线版本与服务器最新基线版本的差异为第一差异点;
第二确定单元,用于确定所述本地服务基线版本与修改后的基线版本的差异为第二差异点;
第一判断单元,用于根据所述第一差异点及所述第二差异点判断同一文件中是否具有相同位置代码段的修改;
第一执行单元,用于当所述第一判断单元根据所述第一差异点以及所述第二差异点确定在同一文件中并不具有相同位置代码段的修改时,将基于所述修改后的基线版本中修改的代码段合成到所述服务器最新基线版本上,合成后的基线版本为第一目标版本;
第二判断单元,用于判断所述第一目标版本是否通过语法语言校验,所述语法语言校验为对目标版本的代码形式的校验;
第二执行单元,用于当所述第二判断单元确定所述第一目标版本未通过语法语言校验时,对所述第一目标版本进行校验修复得到第二目标版本,所述第二目标版本为符合语法语言校验的基线版本;
第三判断单元,用于判断所述第二目标版本是否通过编译校验,所述编译校验为对目标版本的代码格式的校验;
第三执行单元,用于当所述第三判断单元确定所述第二目标版本通过编译校验时,更新所述第二目标版本至所述服务器最新基线版本。
可选的,所述第一判断单元包括:
比对模块以及第一判断模块;
所述比对模块,用于比对所述第一差异点和所述第二差异点中的差异;
所述第一判断模块,用于根据所述差异判断同一文件中是否具有相同位置代码段的修改。
可选的,所述比对模块包括:
接收子模块,第一识别子模块,第二识别子模块以及第二比对子模块;
所述接收子模块,用于接收所述本地服务基线版本发送的差异点代码比对指令,所述差异点代码比对指令为对不同版本的同一文件进行差异点比对的指令;
所述第一识别子模块,用于识别同一文件不同版本所提取出的所述第一差异点的第一代码段;
所述第二识别子模块,用于识别同一文件不同版本所提取出的所述第二差异点的第二代码段;
所述第二比对子模块,用于根据对所述第一代码段和所述第二代码段的比较结果来比对所述第一差异点和所述第二差异点的差异。
可选的,所述处理装置还包括:
第四执行单元,预警设置单元,接收单元,第五执行单元,第六执行单元以及存储单元。
所述第四执行单元,用于当所述第一判断单元确定同一文件中具有相同位置代码段的修改时,对所述相同位置代码段进行代码冲突的修复,再将修复好的代码段合成到所述服务器最新基线版本上;
所述预警设置单元,用于设置预警机制,所述预警机制用于当同一文件中有代码冲突时发出预警信号;
所述接收单元,用于接收所述预警机制反馈的预警通知,所述预警通知为同一文件中有代码冲突的通知;
所述第五执行单元,用于当所述第二判断单元确定所述第一目标版本通过语法语言校验时,设置所述第一目标版本为第二目标版本;
所述第六执行单元,用于当所述第三判断单元确定所述第二目标版本未通过编译校验时,对所述第二目标版本进行编译修复得到所述第三目标版本,所述第三目标版本为符合编译校验的基线版本,并将所述第三目标版本更新到所述服务器最新基线版本;
所述存储单元,用于存储所述本地服务基线版本的内容,存储的所述本地服务基线版本的内容用于后续需要时回归备用。
本申请实施例在第三方面提供了一种自动基线修复版本的处理装置,包括:
处理器、存储器、输入输出单元、总线;
所述处理器与所述存储器、所述输入输出单元以及所述总线相连;
所述处理器具体执行如下操作:
确定本地服务基线版本与服务器最新基线版本的差异为第一差异点;
确定所述本地服务基线版本与修改后的基线版本的差异为第二差异点;
根据所述第一差异点及所述第二差异点判断同一文件中是否具有相同位置代码段的修改;
若否,则将基于所述修改后的基线版本中修改的代码段合成到所述服务器最新基线版本上,合成后的基线版本为第一目标版本;
判断所述第一目标版本是否通过语法语言校验,所述语法语言校验为对目标版本的代码形式的校验;
若否,则对所述第一目标版本进行校验修复得到第二目标版本,所述第二目标版本为符合语法语言校验的基线版本;
判断所述第二目标版本是否通过编译校验,所述编译校验为对目标版本的代码格式的校验;
若是,则更新所述第二目标版本至所述服务器最新基线版本。
从以上技术方案可以看出,本申请实施例具有以下优点:
版本控制系统先确定本地服务基线版本与服务器最新基线版本的差异为第一差异点,再确定本地服务基线版本与修改后的基线版本的差异为第二差异点,判断同一文件中是否具有相同位置代码段的修改;如果没有,就将修改的代码段合成到服务器最新基线版本上得到第一目标版本;接着再判断第一目标版本是否通过语法语言校验,如果没有通过,则对第一目标版本进行校验修复完成得到第二目标版本;最后判断第二目标版本是否通过编译校验,如果通过了编译校验,则更新第二目标版本至服务器最新基线版本。这样可以通过版本自动比对、版本自动合成、代码自动检验步骤实现了代码冲突的自动解决,有效减少了版本控制中人工干预的成本和时间,并提高了开发效率。
附图说明
图1为本申请实施例中自动修复基线版本的处理方法一个实施例流程示意图;
图2-1及图2-2为本申请实施例中自动修复基线版本的处理方法另一个实施例流程示意图;
图3为本申请实施例中自动修复基线版本的处理方法另一个实施例流程示意图;
图4为本申请实施例中自动修复基线版本的处理装置一个实施例结构示意图;
图5为本申请实施例中自动修复基线版本的处理装置另一个实施例结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的阐述,显然阐述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应当属于本发明保护范围。
本申请实施例提供了一种自动修复基线版本的处理方法,使得在开发任务执行的过程中,有效减少了版本控制中人工干预的成本和时间,并提高了开发效率。
在本实施例中,自动修复基线版本的处理方法可在系统实现,可以在服务器实现,也可以在终端实现,具体不做明确限定。为方便描述,本申请实施例使用系统为执行主体举例描述。
请参阅图1,本申请实施例中自动修复基线版本的处理方法的一个实施例包括:
101、系统确定本地服务基线版本与服务器最新基线版本的差异为第一差异点;
在计算机术语中,基线是软件文档或源码(或其它产出物)的一个稳定版本,它为开发工件提供了一个定点和快照。
多个开发任务并发进行或多个开发人员进行团队开发,则开发任务每次提交文件时,除了生成新版本的代码文件,还会生成提交版本和提交前基线版本的差异文件,方便比对是否存在冲突。当开发任务A先提交代码修改版本,更新服务器最新基线版本后,后续开发任务B提交代码时,为了了解是否与开发任务A交的版本是否有冲突,先确定开发任务B的本地版本与当前服务器最新基线版本的差异点为必不可缺的步骤。
102、所述系统确定所述本地服务基线版本与修改后的基线版本的差异为第二差异点;
在确定开发任务B的本地版本与当前服务器最新基线版本的差异点之后,还需要比对开发任务B的本地版本与修改后的版本的差异,以确定其本地版本与修改后的版本的差异点。
103、所述系统根据所述第一差异点及所述第二差异点判断同一文件中是否具有相同位置代码段的修改,若否,则执行步骤104;
为了判断开发任务A与开发任务B在基于同一个代码文件中是否具有相同位置的代码段的修改,该系统会自动识别前述步骤确定的两个差异点的差异,识别的差异可以是差异点处的代码行数信息,还可以是代码列数信息等,具体此处不做限定。
若该系统根据第一差异点以及第二差异点确定同一文件中不具有相同位置的代码段的修改,则执行步骤104。
104、所述系统将基于所述修改后的基线版本中修改的代码段合成到所述服务器最新基线版本上,合成后的基线版本为第一目标版本;
当该系统根据第一差异点以及第二差异点确定同一文件中不具有相同位置的代码段的修改时,该系统将开发任务B的修改后的基线版本的代码段合成到服务器最新基线版本上来作为第一目标版本。
105、所述系统判断所述第一目标版本是否通过语法语言校验,所述语法语言校验为对目标版本的代码形式的校验,若否,则执行步骤106;
在对开发任务A与开发任务B的版本进行差异点判断并处理后,对于合成后的第一目标版本,为了保证该第一目标版本正常运行,需要对其进行语法语言的校验。
若是该第一目标版本没有通过语法语言校验,则执行步骤106。
106、所述系统对所述第一目标版本进行校验修复得到第二目标版本,所述第二目标版本为符合语法语言校验的基线版本;
当第一目标版本没有通过语法语言校验时,该控制系统会对该第一目标版本进行校验修复得到第二目标版本,此处说的校验修复的次数可以为一次,也可以为多次,具体此处不做限定,直到对第一目标版本校验修复完成得到第二目标版本为止。
107、所述系统判断所述第二目标版本是否通过编译校验,所述编译校验为对目标版本的代码格式的校验,若是,则执行步骤108;
对于第一目标版本的语法语言校验修复完成后得到的第二目标版本,为了保证该第二目标版本能够实现开发任务A和开发任务B需要的功能,系统还需要对该第二目标版本进行编译校验。
若第二目标版本通过了编译校验,则执行步骤108。
108、所述系统更新所述第二目标版本至所述服务器最新基线版本。
当系统确定第二目标版本通过编译校验后,该系统将第二目标版本更新至服务器最新基线版本。
上述实施例中,系统在确定出基线版本之间的差异点后,可以根据这两个差异点判断出同一文件中是否具有相同位置的代码段的修改,如果没有相同位置的代码段的修改,则系统会将所修改的代码段自动合成到服务器最新基线版本上得到第一目标版本,然后为了保证版本能够正常运行,再对该第一目标版本进行语法语言校验,若没有通过语法语言校验,则系统会对该第一目标版本进行校验修复,修复完成后得到第二目标版本;最后判断该第二目标版本是否通过编译校验,如果通过了编译校验,系统就更新第二目标版本至服务器最新基线版本,这样可以通过版本自动比对、版本自动合成、代码自动检验步骤实现了代码冲突的自动解决,有效减少了版本控制中人工干预的成本和时间,并提高了开发效率。
为清楚描述自动修复基线版本的处理方法,本申请实施例将结合图2-1和图2-2来进行详细描述。
请参阅图2-1及图2-2,本申请实施例中自动修复基线版本的处理方法的另一个实施例包括:
201、系统确定本地服务基线版本与服务器最新基线版本的差异为第一差异点;
202、所述系统确定所述本地服务基线版本与修改后的基线版本的差异为第二差异点;
本实施例中的步骤201至202与前述实施例中步骤101至102类似,此处不再赘述。
203、所述系统接收所述本地服务基线版本发送的差异点代码比对指令,所述差异点比对指令为对不同版本的同一文件进行差异点比对的指令;
系统如果想执行对差异点的判断操作,需要先接收到本地服务基线版本发送的差异点代码比对指令,该指令可以为一个序号,还可以为一个字母、一段代码段等,具体此处不做限定。
204、所述系统识别同一文件不同版本所提取出的所述第一差异点的第一代码段;
系统在接收到本地服务基线版本发送的差异点代码比对指令后,提取出第一差异点的代码段并对其进行识别。
205、所述系统识别同一文件不同版本所提取出的所述第二差异点的第二代码段;
系统在接收到本地服务基线版本发送的差异点代码比对指令后,提取出第二差异点的代码段并对其进行识别。
206、所述系统根据对所述第一代码段和所述第二代码段的比较结果来比对所述第一差异点和所述第二差异点的差异;
系统在分别提取并识别两个差异点的代码段后,需要根据这两个代码段的比较结果来比对出两个差异点的差异,该比较可以为代码行数信息的比较,可以为代码列数信息的比较,还可以为代码语法函数的比较,具体此处不做限定。
207、所述系统根据所述差异判断同一文件中是否具有相同位置代码段的修改,若是,则执行步骤208,若否,则执行步骤211;
本实施例中的步骤207与前述实施例中步骤103类似,此处不再赘述。
208、所述系统设置预警机制,所述预警机制用于当同一文件中有代码冲突时发出预警信号;
当系统确定在同一文件中具有相同位置代码段的修改时,系统会设置一个预警机制用来警示在同一文件中具有代码冲突,当预警机制被触动时,会发出预警信号反馈给系统。
209、所述系统接收所述预警机制反馈的预警通知,所述预警通知为同一文件中有代码冲突的通知;
当预警机制被触动时,该预警机制会反馈一则预警通知给系统,该预警通知上携带有预警信号以及代码冲突的数据信息。
210、所述系统对所述相同位置代码段进行代码冲突的修复,再将修复好的代码段合成到所述服务器最新基线版本上;
当系统接收到预警通知时,会根据预警通知上携带的代码冲突的数据信息对该相同位置的代码段进行代码冲突的修复,再把修复好的代码段合成至服务器最新基线版本。
211、所述系统存储所述本地服务基线版本的内容,存储的所述本地服务基线版本的内容用于后续需要时回归备用;
当系统确定在同一文件中不具有相同位置代码段的修改时,系统会先将本地服务基线版本的内容进行存储,用于后续需要时回归备用。其中,存储的方式可以有多种,例如可以将本地服务基线版本的内容存储在本地数据库,还可以将本地服务基线版本的内容存储在线上的云平台等,具体此处不做限定。
212、所述系统将基于所述修改后的基线版本中修改的代码段合成到所述服务器最新基线版本上,并生成第一目标版本;
213、所述系统判断所述第一目标版本是否通过语法语言校验,所述语法语言校验为对目标版本的代码形式的校验,若是,则执行步骤214,若否,则执行步骤215;
本实施例中的步骤212至213与前述实施例中步骤104至105类似,此处不再赘述。
214、所述系统设置所述第一目标版本为第二目标版本;
当系统确定第一目标版本通过了语法语言校验,则设置该第一目标版本为第二目标版本,该步骤执行之后执行步骤216。
215、所述系统对所述第一目标版本进行校验修复得到第二目标版本,所述第二目标版本为符合语法语言校验的基线版本;
216、所述系统判断所述第二目标版本是否通过编译校验,所述编译校验为对目标版本的代码格式的校验,若是,则执行步骤217,若否,则执行步骤218;
217、所述系统更新所述第二目标版本至所述服务器最新基线版本;
本实施例中的步骤215至217与前述实施例中步骤106至108类似,此处不再赘述。
218、所述系统对所述第二目标版本进行编译修复得到所述第三目标版本,所述第三目标版本为符合编译校验的基线版本,并将所述第三目标版本更新到所述服务器最新基线版本。
当系统确定第二目标版本没有通过编译校验时,系统需要对该第二目标版本进行编译修复,编译修复完成后得到第三目标版本,再将该第三目标版本更新到服务器最新基线版本。
上述实施例中,系统设置了预警机制以及存储功能,当同一代码文件中具有相同位置代码段修改的代码冲突时,预警机制可以给系统起到警示作用;存储功能可以存储原始的本地服务器基线版本,用于后续再需要时的回归备用,提高了系统操作的可靠性。
上面对本申请实施例中的自动修复基线版本的处理方法进行了描述,,下面对本申请实施例中的自动修复基线版本的处理装置进行描述:
请参阅图3,本申请实施例中自动修复基线版本的处理装置的一个实施例包括:
第一确定单元301,用于确定本地服务基线版本与服务器最新基线版本的差异为第一差异点;
第二确定单元302,用于确定本地服务基线版本与修改后的基线版本的差异为第二差异点;
第一判断单元303,用于根据第一差异点及第二差异点判断同一文件中是否具有相同位置代码段的修改;
第一执行单元304,用于当第一判断单元根据第一差异点以及第二差异点确定在同一文件中并不具有相同位置代码段的修改时,将基于修改后的基线版本中修改的代码段合成到服务器最新基线版本上,合成后的基线版本为第一目标版本;
第二判断单元305,用于判断第一目标版本是否通过语法语言校验,该语法语言校验为对目标版本的代码形式的校验;
第二执行单元306,用于当第二判断单元确定第一目标版本未通过语法语言校验时,对第一目标版本进行校验修复得到第二目标版本,该第二目标版本为符合语法语言校验的基线版本;
第三判断单元307,用于判断第二目标版本是否通过编译校验,该编译校验为对目标版本的代码格式的校验;
第三执行单元308,用于当第三判断单元确定第二目标版本通过编译校验时,更新第二目标版本至服务器最新基线版本。
本实施例中,第一确定单元301与第二确定单元302分别确定了本地服务基线版本与服务器最新基线版本、本地服务基线版本与修改后的基线版本的差异点后,由第一判断单元303来判断在同一文件中是否具有相同位置代码段的修改,如果确定并不具有相同位置代码段的修改时,第一执行单元304将基于所述修改后的基线版本中修改的代码段合成到所述服务器最新基线版本上,合成后的基线版本为第一目标版本,再由第二判断单元305判断该第一目标版本是否通过语法语言校验,若确定未通过,则第二执行单元306对所述第一目标版本进行校验修复完成后得到第二目标版本,最后由第三判断单元307判断该第二目标版本是否通过编译校验,若通过,则第三执行单元308更新所述第二目标版本至所述服务器最新基线版本。这样通过版本自动比对、版本自动合成、代码自动检验步骤实现了代码冲突的自动解决,有效减少了版本控制中人工干预的成本和时间,并提高了开发效率。
请参阅图4,本申请实施例中的自动修复基线版本的处理装置的另一个实施例包括:
第一确定单元401,用于确定本地服务基线版本与服务器最新基线版本的差异为第一差异点;
第二确定单元402,用于确定本地服务基线版本与修改后的基线版本的差异为第二差异点;
第一判断单元403,用于根据第一差异点及第二差异点判断同一文件中是否具有相同位置代码段的修改;
存储单元404,用于存储本地服务基线版本的内容,存储的本地服务基线版本的内容用于后续需要时回归备用;
第一执行单元405,用于当第一判断单元根据第一差异点以及第二差异点确定在同一文件中并不具有相同位置代码段的修改时,将基于修改后的基线版本中修改的代码段合成到服务器最新基线版本上,合成后的基线版本为第一目标版本;
第二判断单元406,用于判断第一目标版本是否通过语法语言校验,该语法语言校验为对目标版本的代码形式的校验;
第二执行单元407,用于当第二判断单元确定第一目标版本未通过语法语言校验时,对第一目标版本进行校验修复得到第二目标版本,该第二目标版本为符合语法语言校验的基线版本;
第三判断单元408,用于判断第二目标版本是否通过编译校验,该编译校验为对目标版本的代码格式的校验;
第三执行单元409,用于当第三判断单元确定第二目标版本通过编译校验时,更新第二目标版本至服务器最新基线版本。
本实施例中,第一判断单元403可以包括比对模块4031以及第一判断模块4032。
比对模块4031用于比对第一差异点和第二差异点中的差异;
第一判断模块4032用于根据差异判断同一文件中是否具有相同位置代码段的修改。
本实施例中,比对模块4031可以包括接收子模块40311,第一识别子模块40312,第二识别子模块40313以及第二比对子模块40314。
接收子模块40311用于接收本地服务基线版本发送的差异点代码比对指令,该差异点代码比对指令为对不同版本的同一文件进行差异点比对的指令;
第一识别子模块40312用于识别同一文件不同版本所提取出的第一差异点的第一代码段;
第二识别子模块40313用于识别同一文件不同版本所提取出的第二差异点的第二代码段;
第二比对子模块40314用于根据对第一代码段和第二代码段的比较结果来比对第一差异点和第二差异点的差异。
本实施例中,该自动修复基线版本的处理装置还可以进一步包括预警设置单元410,接收单元411,第四执行单元412,第五执行单元413,第六执行单元414。
预警设置单元410用于设置预警机制,该预警机制用于当同一文件中有代码冲突时发出预警信号;
接收单元411用于接收预警机制反馈的预警通知,该预警通知为同一文件中有代码冲突的通知;
第四执行单元412用于当第一判断单元确定同一文件中具有相同位置代码段的修改时,对相同位置代码段进行代码冲突的修复,再将修复好的代码段合成到服务器最新基线版本上;
第五执行单元413用于当第二判断单元确定第一目标版本通过语法语言校验时,设置第一目标版本为第二目标版本;
第六执行单元414用于当第三判断单元确定第二目标版本未通过编译校验时,对第二目标版本进行编译修复得到第三目标版本,该第三目标版本为符合编译校验的基线版本,并将第三目标版本更新到服务器最新基线版本。
上述实施例中,各单元,模块及子模块的功能与前述图2-1及图2-2所述实施例中的步骤对应,此处不再赘述。
下面对本申请实施例中的自动修复基线版本的处理装置进行详细描述,请参阅图5,在本申请实施例中自动修复基线版本的处理装置另一个实施例包括:
处理器501、存储器502、输入输出单元503、总线504;
处理器501与存储器502、输入输出单元503以及总线504相连;
处理器501具体执行如下操作:
确定本地服务基线版本与服务器最新基线版本的差异为第一差异点;
确定所述本地服务基线版本与修改后的基线版本的差异为第二差异点;
根据所述第一差异点及所述第二差异点判断同一文件中是否具有相同位置代码段的修改;
若否,则将基于所述修改后的基线版本中修改的代码段合成到所述服务器最新基线版本上,合成后的基线版本为第一目标版本;
判断所述第一目标版本是否通过语法语言校验,所述语法语言校验为对目标版本的代码形式的校验;
若否,则对所述第一目标版本进行校验修复得到第二目标版本,所述第二目标版本为符合语法语言校验的基线版本;
判断所述第二目标版本是否通过编译校验,所述编译校验为对目标版本的代码格式的校验;
若是,则更新所述第二目标版本至所述服务器最新基线版本。
本实施例中,处理器501的功能与前述图1至图4所述实施例中的步骤对应,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-onlymemory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (10)
1.一种自动修复基线版本的处理方法,其特征在于,包括:
系统确定本地服务基线版本与服务器最新基线版本的差异为第一差异点;
所述系统确定所述本地服务基线版本与修改后的基线版本的差异为第二差异点;
所述系统根据所述第一差异点及所述第二差异点判断同一文件中是否具有相同位置代码段的修改;
若否,则所述系统将基于所述修改后的基线版本中修改的代码段合成到所述服务器最新基线版本上,合成后的基线版本为第一目标版本;
所述系统判断所述第一目标版本是否通过语法语言校验,所述语法语言校验为对目标版本的代码形式的校验;
若否,则所述系统对所述第一目标版本进行校验修复得到第二目标版本,所述第二目标版本为符合语法语言校验的基线版本;
所述系统判断所述第二目标版本是否通过编译校验,所述编译校验为对目标版本的代码格式的校验;
若是,则所述系统更新所述第二目标版本至所述服务器最新基线版本。
2.根据权利要求1所述的处理方法,其特征在于,所述系统根据所述第一差异点以及所述第二差异点判断同一文件中是否具有相同位置代码段的修改,包括:
所述系统比对所述第一差异点和所述第二差异点中的差异;
所述系统根据所述差异判断同一文件中是否具有相同位置代码段的修改。
3.根据权利要求2所述的处理方法,其特征在于,所述系统比对所述第一差异点和所述第二点差异点中的差异,包括:
所述系统接收所述本地服务基线版本发送的差异点代码比对指令,所述差异点代码比对指令为对不同版本的同一文件进行差异点比对的指令;
所述系统识别同一文件不同版本所提取出的所述第一差异点的第一代码段;
所述系统识别同一文件不同版本所提取出的所述第二差异点的第二代码段;
所述系统根据对所述第一代码段和所述第二代码段的比较结果来比对所述第一差异点和所述第二差异点的差异。
4.根据权利要求1所述的处理方法,其特征在于,所述系统根据所述第一差异点以及所述第二差异点判断同一文件中是否具有相同位置代码段的修改之后,所述方法还包括:
若是,则所述系统对所述相同位置代码段进行代码冲突的修复,再将修复好的代码段合成到所述服务器最新基线版本上。
5.根据权利要求4所述的处理方法,其特征在于,所述系统根据所述第一差异点以及所述第二差异点判断同一文件中是否具有相同位置代码段的修改之后,对所述相同位置代码段进行代码冲突的修复之前,所述方法还包括:
所述系统设置预警机制,所述预警机制用于当同一文件中有代码冲突时发出预警信号;
所述系统接收所述预警机制反馈的预警通知,所述预警通知为同一文件中有代码冲突的通知。
6.根据权利要求1所述的处理方法,其特征在于,所述系统判断所述第一目标版本是否通过语法语言校验之后,所述方法还包括:
若是,则所述系统设置所述第一目标版本为第二目标版本。
7.根据权利要求1所述的处理方法,其特征在于,所述系统判断所述第二目标版本是否通过编译校验之后,所述方法还包括:
若否,则所述系统对所述第二目标版本进行编译修复得到所述第三目标版本,所述第三目标版本为符合编译校验的基线版本,并将所述第三目标版本更新到所述服务器最新基线版本。
8.根据权利要求1至7任意一项所述的处理方法,其特征在于,所述系统将基于所述修改后的基线版本中修改的代码段合成到所述服务器最新基线版本上之前,所述方法还包括:
所述系统存储所述本地服务基线版本的内容,存储的所述本地服务基线版本的内容用于后续需要时回归备用。
9.一种自动修复基线版本的控制装置,其特征在于,包括:
第一确定单元,用于确定本地服务基线版本与服务器最新基线版本的差异为第一差异点;
第二确定单元,用于确定所述本地服务基线版本与修改后的基线版本的差异为第二差异点;
第一判断单元,用于根据所述第一差异点及所述第二差异点判断同一文件中是否具有相同位置代码段的修改;
第一执行单元,用于当所述第一判断单元根据所述第一差异点以及所述第二差异点确定在同一文件中并不具有相同位置代码段的修改时,将基于所述修改后的基线版本中修改的代码段合成到所述服务器最新基线版本上,合成后的基线版本为第一目标版本;
第二判断单元,用于判断所述第一目标版本是否通过语法语言校验,所述语法语言校验为对目标版本的代码形式的校验;
第二执行单元,用于当所述第二判断单元确定所述第一目标版本未通过语法语言校验时,对所述第一目标版本进行校验修复得到第二目标版本,所述第二目标版本为符合语法语言校验的基线版本;
第三判断单元,用于判断所述第二目标版本是否通过编译校验,所述编译校验为对目标版本的代码格式的校验;
第三执行单元,用于当所述第三判断单元确定所述第二目标版本通过编译校验时,更新所述第二目标版本至所述服务器最新基线版本。
10.根据权利要求9所述的控制装置,其特征在于,所述第一判断单元包括:
比对模块以及第一判断模块;
所述比对模块,用于比对所述第一差异点和所述第二差异点中的差异;
所述第一判断模块,用于根据所述差异判断同一文件中是否具有相同位置代码段的修改。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010857285.6A CN111984307A (zh) | 2020-08-24 | 2020-08-24 | 一个自动修复基线版本的处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010857285.6A CN111984307A (zh) | 2020-08-24 | 2020-08-24 | 一个自动修复基线版本的处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111984307A true CN111984307A (zh) | 2020-11-24 |
Family
ID=73443796
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010857285.6A Pending CN111984307A (zh) | 2020-08-24 | 2020-08-24 | 一个自动修复基线版本的处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111984307A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113448617A (zh) * | 2021-08-31 | 2021-09-28 | 太平金融科技服务(上海)有限公司深圳分公司 | 数据对象管理方法、装置、计算机设备和存储介质 |
WO2022135276A1 (zh) * | 2020-12-22 | 2022-06-30 | 深圳前海微众银行股份有限公司 | 测试用例的处理方法、装置和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105302533A (zh) * | 2014-07-25 | 2016-02-03 | 腾讯科技(深圳)有限公司 | 代码同步方法和装置 |
CN110162334A (zh) * | 2019-05-29 | 2019-08-23 | 上海摩软通讯技术有限公司 | 一种代码管理方法、装置、存储介质及计算机程序产品 |
CN110688140A (zh) * | 2019-10-11 | 2020-01-14 | 上海创功通讯技术有限公司 | 一种代码管理方法和终端 |
-
2020
- 2020-08-24 CN CN202010857285.6A patent/CN111984307A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105302533A (zh) * | 2014-07-25 | 2016-02-03 | 腾讯科技(深圳)有限公司 | 代码同步方法和装置 |
CN110162334A (zh) * | 2019-05-29 | 2019-08-23 | 上海摩软通讯技术有限公司 | 一种代码管理方法、装置、存储介质及计算机程序产品 |
CN110688140A (zh) * | 2019-10-11 | 2020-01-14 | 上海创功通讯技术有限公司 | 一种代码管理方法和终端 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022135276A1 (zh) * | 2020-12-22 | 2022-06-30 | 深圳前海微众银行股份有限公司 | 测试用例的处理方法、装置和存储介质 |
CN113448617A (zh) * | 2021-08-31 | 2021-09-28 | 太平金融科技服务(上海)有限公司深圳分公司 | 数据对象管理方法、装置、计算机设备和存储介质 |
CN113448617B (zh) * | 2021-08-31 | 2022-01-25 | 太平金融科技服务(上海)有限公司深圳分公司 | 数据对象管理方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111488136A (zh) | 持续集成和持续交付方法、系统、设备及存储介质 | |
CN111984307A (zh) | 一个自动修复基线版本的处理方法及装置 | |
CN108228190B (zh) | 持续集成和交付方法、系统、设备及计算机可读存储介质 | |
CN112527382B (zh) | 部署流水线引擎系统的方法、持续集成的方法及装置 | |
CN113127347A (zh) | 一种接口测试方法、装置、设备及可读存储介质 | |
CN110908702A (zh) | 一种版本切换方法、版本切换装置、计算机设备及存储介质 | |
CN108664247B (zh) | 一种页面模板数据交互的方法及装置 | |
CN111913694A (zh) | 一种自动识别平台编译的方法和系统 | |
CN113377431A (zh) | 一种代码处理方法、装置、设备及介质 | |
CN111158730A (zh) | 系统更新方法、装置、电子设备和可读存储介质 | |
CN111367531B (zh) | 代码处理方法及装置 | |
CN114048129A (zh) | 软件功能变更的自动化测试方法、装置、设备及系统 | |
CN112241370A (zh) | 一种api接口类的校验方法、系统及装置 | |
CN115599437A (zh) | 一种软件版本的处理方法、装置、电子设备及存储介质 | |
CN111459504A (zh) | 智能合约的处理方法、装置、设备和存储介质 | |
CN110968339B (zh) | 前端构建工具的方法、装置以及电子设备 | |
CN112114978A (zh) | 电子秤数据更新方法、装置、设备以及可读存储介质 | |
US9396239B2 (en) | Compiling method, storage medium and compiling apparatus | |
CN116775061A (zh) | 微服务应用的部署方法、装置、设备及存储介质 | |
JP2005276040A (ja) | デグレード確認検査方法、デグレード確認検査システム、およびそのためのプログラム | |
US20220318005A1 (en) | Generation of software program repair explanations | |
CN111142965A (zh) | 语言配置方法、装置、电子设备及存储介质 | |
CN116226066B (zh) | 低代码平台代码同步方法和装置、电子设备、存储介质 | |
CN112165512B (zh) | 一种文件发布方法、装置、终端设备及存储介质 | |
CN113535576A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201124 |
|
RJ01 | Rejection of invention patent application after publication |