CN113535206A - 多版本代码升级方法及*** - Google Patents
多版本代码升级方法及*** Download PDFInfo
- Publication number
- CN113535206A CN113535206A CN202110836701.9A CN202110836701A CN113535206A CN 113535206 A CN113535206 A CN 113535206A CN 202110836701 A CN202110836701 A CN 202110836701A CN 113535206 A CN113535206 A CN 113535206A
- Authority
- CN
- China
- Prior art keywords
- code
- version
- modification
- modified
- file
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 238000012986 modification Methods 0.000 claims abstract description 180
- 230000004048 modification Effects 0.000 claims abstract description 180
- 230000008569 process Effects 0.000 claims abstract description 20
- 238000012217 deletion Methods 0.000 claims description 19
- 230000037430 deletion Effects 0.000 claims description 19
- 238000005457 optimization Methods 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 9
- 238000012552 review Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal 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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种多版本代码升级方法,该方法包括:设置每个版本代码文件的路径和初始优先级;设置各种修改类型对应的修改优先级;对比每个修改版本的代码文件与最老的原始版本的代码文件中的每个代码行,得到每个修改版本的代码文件针对每个代码行的具体修改内容和修改类型;根据每个修改版本的代码文件对应的所述初始优先级和每个修改类型对应的所述修改优先级,确定每个代码行的最优修改结果,得到最终优化版本的代码文件。本申请还公开了一种多版本代码升级***、电子装置和计算机可读存储介质。由此,能够有效降低代码版本迭代过程中人工审核代码的负担,以及降低针对多个版本的代码文件进行升级时的时间成本和出错概率。
Description
技术领域
本申请涉及代码升级技术领域,尤其涉及一种多版本代码升级方法、***、电子装置及计算机可读存储介质。
背景技术
随着计算机技术的普及与发展,用户常常需要在电子装置上进行多版本代码升级,输入法已经成为用户与电子装置交互的重要工具,不同专业领域、不同兴趣以及使用习惯的用户对于输入方式的智能性要求越来越高。
目前市面主流的代码版本管理工具为Git和Svn等,版本管理工具提供了简单的管理内容同步功能,如对比本地版本和服务器版本,本地修改和服务器修改冲突就提示冲突,无冲突就自动合并。
但是,这种版本管理工具的缺陷在于仅限两个版本之间合并或者同步,对于大于两个的多版本代码无法做到有效同步。
需要说明的是,上述内容并不用于限制申请保护范围。
发明内容
本申请的主要目的在于提出一种多版本代码升级方法、***、电子装置及计算机可读存储介质,旨在解决如何在代码版本较多时进行快速有效的合并升级的问题。
为实现上述目的,本申请实施例提供了一种多版本代码升级方法,所述方法包括:
设置每个版本代码文件的路径和初始优先级;
设置各种修改类型对应的修改优先级;
对比每个修改版本的代码文件与最老的原始版本的代码文件中的每个代码行,得到每个修改版本的代码文件针对每个代码行的具体修改内容和修改类型;及
根据每个修改版本的代码文件对应的所述初始优先级和每个修改类型对应的所述修改优先级,确定每个代码行的最优修改结果,得到最终优化版本的代码文件。
可选地,所述方法在设置各种修改类型对应的修改优先级后还包括:
针对符合预设条件的修改内容设置附加优先级;
在所述确定每个代码行的最优修改结果时根据每个版本的代码文件对应的所述初始优先级、每个修改类型对应的所述修改优先级和所述附加优先级进行综合判断。
可选地,所述修改类型包括新增修改、内容修改和删除修改。
可选地,所述对比每个修改版本的代码文件与最老的原始版本的代码文件中的每个代码行,得到每个修改版本的代码文件针对每个代码行的具体修改内容和修改类型包括:
遍历所述最老的原始版本的代码文件中所有文件,打开文件并获取代码行内容;
对比每个修改版本的代码文件与所述最老的原始版本的代码文件相同路径下的同名文件,通过最长公共子序列算法计算两个文件中每个代码行之间的相似度,得到所述修改版本的代码文件针对所述代码行的具体修改内容和修改类型。
可选地,所述根据每个修改版本的代码文件对应的所述初始优先级和每个修改类型对应的所述修改优先级,确定每个代码行的最优修改结果包括:
判断每个修改版本的代码文件是否对当前代码行有修改;
当仅有一个修改版本的代码文件对所述当前代码行有修改时,使用所述修改版本的代码文件对所述当前代码行的具体修改内容作为所述当前代码行的最优修改结果;
当有多个修改版本的代码文件对所述当前代码行有修改时,分别计算各个修改版本的优先级,所述优先级包括所述初始优先级加上所述修改优先级,使用优先级最高的修改版本的代码文件对所述当前代码行的具体修改内容作为所述当前代码行的最优修改结果。
可选地,所述根据每个修改版本的代码文件对应的所述初始优先级和每个修改类型对应的所述修改优先级,确定每个代码行的最优修改结果还包括:
当出现多个修改版本的代码文件对所述当前代码行均有修改且优先级相同时,提示用户人工处理冲突内容,根据用户的处理结果得到所述当前代码行的最优修改结果。
可选地,所述方法在对比每个修改版本的代码文件与最老的原始版本的代码文件中的每个代码行之前还包括:
通过后缀名设置需要内容同步的文件类型;
在每个修改版本的代码文件与最老的原始版本的代码文件中,针对所述文件类型的文件执行对比每个代码行的步骤;
针对非所述文件类型的文件,通过对比所述文件的MD5码判断修改结果,并根据每个修改版本的代码文件对应的所述初始优先级确定所述文件的最优修改结果。
此外,为实现上述目的,本申请实施例还提供一种多版本代码升级***,所述***包括:
设置模块,用于设置每个版本代码文件的路径和初始优先级,以及设置各种修改类型对应的修改优先级;
对比模块,用于对比每个修改版本的代码文件与最老的原始版本的代码文件中的每个代码行,得到每个修改版本的代码文件针对每个代码行的具体修改内容和修改类型;
优化模块,用于根据每个修改版本的代码文件对应的所述初始优先级和每个修改类型对应的所述修改优先级,确定每个代码行的最优修改结果,得到最终优化版本的代码文件。
为实现上述目的,本申请实施例还提供一种电子装置,所述电子装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的多版本代码升级程序,所述多版本代码升级程序被所述处理器执行时实现如上述的多版本代码升级方法。
为实现上述目的,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有多版本代码升级程序,所述多版本代码升级程序被处理器执行时实现如上述的多版本代码升级方法。
本申请实施例提出的多版本代码升级方法、***、电子装置及计算机可读存储介质,能够通过增加各个版本代码文件之间的对比,根据预设的同步策略分析各版本之间每个代码行的修改类型和优先级,给出最优修改结果,自动合并升级得到最终优化的代码文件。该方法可以有效降低代码版本迭代过程中人工审核代码的负担,以及降低针对多个版本的代码文件进行升级时的时间成本和出错概率。
附图说明
图1为实现本申请各个实施例的一种应用环境架构图;
图2为本申请第一实施例提出的一种多版本代码升级方法的流程图;
图3为一种设置各版本代码文件的路径的操作界面示意图;
图4为一种设置优先级的操作界面示意图;
图5为图2中步骤S204的细化流程示意图;
图6为图2中步骤S206的细化流程示意图;
图7为一种冲突处理界面示意图;
图8为本申请第二实施例提出的一种多版本代码升级方法的流程图;
图9为本申请第三实施例提出的一种电子装置的硬件架构示意图;
图10为本申请第四实施例提出的一种多版本代码升级***的模块示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在本申请实施例中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
请参阅图1,图1为实现本申请各个实施例的一种应用环境架构图。本申请可应用于包括,但不仅限于客户端2、服务器4、网络6的应用环境中。
其中,所述客户端2用于向用户显示操作界面并接收用户的操作,例如当自动升级出现冲突(多个修改版本的代码文件对当前代码行均有修改且优先级相同)时,提示用户人工处理冲突内容并接收用户的处理结果。所述客户端2可以为PC(Personal Computer,个人电脑)、手机、平板电脑、便携计算机等终端设备。
所述服务器4用于实现对多个版本代码文件的自动合并升级。
现有版本管理工具的缺陷在于仅限两个版本之间合并或者同步,对于大于两个的多版本代码无法做到有效同步。特别是在代码提供方分批次给出不同版本代码,且代码接受方针对每个版本代码都有自己的修改优化时,在接受的新版本代码中需要继承上一版本优化代码,现有的版本管理工具无法实现这种继承。例如在游戏本地化过程中,从日方第一版本到我方第一版本这个优化过程中需要修改代码,然后当日方出第二版本后本地化为我方第二版本时,原有第一版本的问题仍然存在于第二版本中,需要重复优化。当版本较多后,修改的内容过多、过杂,从第一版本到第N版本,每次均需要重复对比、优化。
若是人工操作多版本代码合并,需要花费大量时间对比各个版本相同位置代码的差异,然后通过对比结果再次决定合并方案,且长时间肉眼观察出错概率极大。另外,现有版本管理工具的版本冲突规则一般是给定的,用户不能自定义规则。
而本申请各个实施例中,所述服务器4通过增加各个版本代码文件之间的对比,根据预设的同步策略(可以自定义设计各种优先级等策略)分析各版本之间每个代码行的修改类型和优先级,给出最优修改结果,自动合并升级得到最终优化的代码文件。
所述服务器4可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器等计算设备,可以是独立的服务器,也可以是多个服务器所组成的服务器集群。
所述网络6可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯***(Global System of Mobile communication,GSM)、宽带码分多址(Wideband CodeDivision Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。所述服务器4和一个或多个所述客户端2之间通过所述网络6通信连接,以进行数据传输和交互。
实施例一
如图2所示,为本申请第一实施例提出的一种多版本代码升级方法的流程图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。根据需要,还可以对该流程图中的部分步骤进行添加或删减。下面以所述服务器4作为执行主体对该方法进行说明。
该方法包括以下步骤:
S200,设置各版本代码文件的路径和初始优先级。
例如,可以设置代码提供方提供的最老的原始版本的代码文件(原始版本老)的路径、代码提供方提供的最新的原始版本的代码文件(原始版本新)的路径、代码接受方根据所述最老的原始版本的代码文件进行优化后得到的各个优化版本的代码文件(优化版本N,例如某个游戏原始版本为日本版本,优化版本可以包括台服版本、韩服版本、国服版本等)的路径、最终优化版本的代码文件(优化版本新,初始内容为原始版本新,同时具备各个优化版本中的优化内容)的路径(初始路径内容为空)。
如图3所示,为本实施例中一种设置各版本代码文件的路径的操作界面示意图。其中,“优化版本路径”可以对应于所述优化版本N,设置N条路径。可以通过点击界面中的加号增加路径,每次增加一条,同时也可以直接编辑路径,多个路径之间用分号隔开,如:xxxxx1;xxxxx2;xxxxx3。值得注意的是,此时“优化版本新路径”下的内容需要为空才能使用。
所述各版本代码文件的初始优先级主要是原始版本新和优化版本N这两种中各个代码文件对应的初始优先级。其中,优化版本N中每个优化版本的代码文件都对应一个属于自己的初始优先级。
如图4所示,为本实施例中一种设置优先级的操作界面示意图。在图4中,Original_base_priority代表原始版本新的初始优先级,Optimized_base_priority(或Optimized_base_priority_n)代表优化版本N的初始优先级。优化版本N的初始优先级可以通过点击界面中的加号填写,同时可以直接编辑并用分号隔开,如:0;0;0。如果存在某个优化版本没有设置对应的优先级,则默认为原始版本老中设置的优先级(如果全部未设置,默认都为0)。
S202,设置各种修改类型对应的修改优先级。
所述修改类型包括新增修改(相对于原始版本老新增的代码行)、内容修改(相对于原始版本老内容有修改的代码行)和删除修改(相对于原始版本老删除的代码行)。因此,所述修改优先级包括新增修改的优先级、内容修改的优先级和删除修改的优先级。
另外,本实施例还可以针对符合预设条件的修改内容设置附加优先级。所述附加优先级用于针对特殊内容使用,例如针对一定要或者一定不要的代码内容,通过所述附加优先级可以控制内容使用顺序。所述附加优先级的使用方式为判断当前代码行的修改内容是否满足所述预设条件,若满足则对应的所述附加优先级为一个预设值,所述预设值通常为无穷大或者无穷小;若不满足则所述附加优先级为0。
例如,在图4中,Content_modify_priority代表内容修改的优先级,Content_add_priority代表新增修改的优先级,Content_del_priority代表删除修改的优先级。另外,Append_priority代表附加优先级,可以点击界面中Append_priority对应的加号按钮,在弹出的设置框内填写具体内容。
所述优先级的大小意义在于,当两个版本的代码文件对同一代码行的修改内容存在冲突时,优先级大的修改内容会作为最优修改结果,优先级低的修改内容在最后得到的最终优化版本的代码文件中会被放弃。具体每个优先级的大小可以根据代码同步需求决定,例如版本越新对应的所述初始优先级越高。又例如,假设需要优先使用删除修改,则将删除修改的优先级设置为大于内容修改的优先级。
在一种优选实施例中,设置优先级时还可以保证优化版本N的优先级减去原始版本新的优先级的绝对值小于新增修改的优先级、内容修改的优先级和删除修改的优先级中的任何一个优先级值。
S204,对比每个修改版本的代码文件与最老的原始版本的代码文件中的每个代码行,得到每个修改版本的代码文件针对每个代码行的具体修改内容和修改类型。
在设置完成后,为了得到最终优化版本的代码文件,需要先将每个修改版本的代码文件(原始版本新和优化版本N)与最老的原始版本的代码文件(原始版本老)进行对比,找到每个修改版本的代码文件修改的内容。其中,所述对比是针对所述最老的原始版本的代码文件中的所有文件中的每个代码行,分别找到每个修改版本的代码文件中相同路径下相同文件的对应代码行,逐行进行内容对比。
具体而言,进一步参阅图5,为上述步骤S204的细化流程示意图。可以理解,该流程图不用于对执行步骤的顺序进行限定。根据需要,还可以对该流程图中的部分步骤进行添加或删减。在本实施例中,所述步骤S204具体包括:
S2040,遍历所述最老的原始版本的代码文件中所有文件,打开文件并获取代码行内容。
S2042,对比每个修改版本的代码文件与所述最老的原始版本的代码文件相同路径下的同名文件,通过LCS(Longest Common Subsequence,最长公共子序列)算法计算两个文件中每个代码行之间的相似度得到所述修改版本的代码文件针对所述代码行的具体修改内容和修改类型。
在本实施例中,代码行的内容相似度不以字母为基础对比单位,而是使用单词为基础对比单位,例如int temp=100和ptrTemp->Func()这两个代码行以单词为基础对比单位则相似度为0,因为单词temp和单词ptrTemp不相同。所述LCS算法计算两个代码行的相似度是通过计算两个代码行中最大公共子串长度除以两个代码行中最大长度获得,例如代码行abcde1和abcdef2的相似度为5/7。
采用所述LCS算法,通过对比两个代码行的单词可以得到所述具体修改内容,通过所述相似度可以得到所述修改类型。其中,所述相似度为100%的属于新增修改,所述相似度大于0小于100%的属于内容修改,所述相似度为0的属于删除修改。
S206,根据每个修改版本的代码文件对应的所述初始优先级和每个修改类型对应的所述修改优先级,确定每个代码行的最优修改结果,得到最终优化版本的代码文件。
具体而言,进一步参阅图6,为上述步骤S206的细化流程示意图。可以理解,该流程图不用于对执行步骤的顺序进行限定。根据需要,还可以对该流程图中的部分步骤进行添加或删减。在本实施例中,所述步骤S206具体包括:
S2060,判断每个修改版本的代码文件是否对当前代码行有修改。
S2062,当仅有一个修改版本的代码文件对所述当前代码行有修改时,使用所述修改版本的代码文件对所述当前代码行的具体修改内容作为所述当前代码行的最优修改结果。
也就是说,如果原始版本新和优化版本N中仅有一个版本的代码文件相对于原始代码老的当前代码行有修改,则直接使用该版本的具体修改内容作为所述当前代码行的最优修改结果即可。
S2064,当有多个修改版本的代码文件对所述当前代码行有修改时,分别计算各个修改版本的优先级,使用优先级最高的修改版本的代码文件对所述当前代码行的具体修改内容作为所述当前代码行的最优修改结果。
如果原始版本新和优化版本N中有多个版本的代码文件相对于原始代码老的当前代码行均有修改,则需要通过优先级来选择究竟使用哪个版本的具体修改内容作为所述当前代码行的最优修改结果。
在本实施例中,所述优先级包括所述初始优先级加上所述修改优先级。例如,当原始版本新对原始版本老的所述当前代码行有修改时,优先级为原始版本新的初始优先级加上该修改的修改类型对应的修改优先级。
另外,当设置有附加优先级时,还需要根据每个版本的代码文件对应的所述初始优先级、每个修改类型对应的所述修改优先级和所述附加优先级进行综合判断,也就是所述优先级包括所述初始优先级加上所述修改优先级再加上所述附加优先级。
值得注意的是,在一种优选实施例中,当出现多个修改版本的代码文件对所述当前代码行均有修改且优先级相同(出现冲突)时,可以提示用户人工处理冲突内容,根据用户的处理结果得到最优修改结果。
例如,图7为本实施例中的一种冲突处理界面示意图。在图7中包括多个展示区域,主要包括修改版本区域和原始版本老区域,分别展示出现冲突的多个修改版本的代码文件对所述当前代码行的修改内容,以及原始版本老中所述当前代码行的原始内容。当点击修改版本区域时,会在下方分别展示每个修改版本的详细内容。
在本实施例中,是在对所述代码行(没有冲突的部分)采用上述步骤进行自动合并升级完成后,再将出现冲突的部分提示用户人工处理。可以向用户显示每一个出现冲突的代码行的原始异常内容(原始版本老中的该代码行内容)、原始修改内容(原始版本新中的该代码行内容)和优化修改内容(各个优化版本N中的该代码行内容),提示用户选择一个最后最优修改结果或者进行手动修改。用户每处理完一个代码行后标记处理完成,进行下一条异常记录(下一个出现冲突的代码行)处理,直到所有异常记录处理完成。所有异常处理完成后生成最终优化版本的代码文件。
本实施例提出的多版本代码升级方法,可以通过增加各个版本代码文件之间的对比,根据预设的同步策略(可以自定义设计各种优先级等策略)分析各版本之间每个代码行的修改类型和优先级,给出最优修改结果,自动合并升级得到最终优化的代码文件。该方法可以有效降低代码版本迭代过程中人工审核代码的负担,以及降低针对多个版本的代码文件进行升级时的时间成本和出错概率。
实施例二
如图8所示,为本申请第二实施例提出的一种多版本代码升级方法的流程图。在第二实施例中,所述多版本代码升级方法在上述第一实施例的基础上,还包括步骤S304-S306和S312-S314。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。根据需要,还可以对该流程图中的部分步骤进行添加或删减。
该方法包括以下步骤:
S300,设置各版本代码文件的路径和初始优先级。
例如,可以设置代码提供方提供的最老的原始版本的代码文件(原始版本老)的路径、代码提供方提供的最新的原始版本的代码文件(原始版本新)的路径、代码接受方根据所述最老的原始版本的代码文件进行优化后得到的各个优化版本的代码文件(优化版本N,例如某个游戏原始版本为日本版本,优化版本可以包括台服版本、韩服版本、国服版本等)的路径、最终优化版本的代码文件(优化版本新,初始内容为原始版本新,同时具备各个优化版本中的优化内容)的路径(初始路径内容为空)。
所述各版本代码文件的初始优先级主要是原始版本新和优化版本N这两种中各个代码文件对应的初始优先级。其中,优化版本N中每个优化版本的代码文件都对应一个属于自己的初始优先级。
S302,设置各种修改类型对应的修改优先级。
所述修改类型包括新增修改(相对于原始版本老新增的代码行)、内容修改(相对于原始版本老内容有修改的代码行)和删除修改(相对于原始版本老删除的代码行)。因此,所述修改优先级包括新增修改的优先级、内容修改的优先级和删除修改的优先级。
另外,本实施例还可以针对符合预设条件的修改内容设置附加优先级。所述附加优先级用于针对特殊内容使用,例如针对一定要或者一定不要的代码内容,通过所述附加优先级可以控制内容使用顺序。所述附加优先级的使用方式为判断当前代码行的修改内容是否满足所述预设条件,若满足则对应的所述附加优先级为一个预设值,所述预设值通常为无穷大或者无穷小;若不满足则所述附加优先级为0。
所述优先级的大小意义在于,当两个版本的代码文件对同一代码行的修改内容存在冲突时,优先级大的修改内容会作为最优修改结果,优先级低的修改内容在最后得到的最终优化版本的代码文件中会被放弃。具体每个优先级的大小可以根据代码同步需求决定,例如版本越新对应的所述初始优先级越高。又例如,假设需要优先使用删除修改,则将删除修改的优先级设置为大于内容修改的优先级。
在一种优选实施例中,设置优先级时还可以保证优化版本N的优先级减去原始版本新的优先级的绝对值小于新增修改的优先级、内容修改的优先级和删除修改的优先级中的任何一个优先级值。
S304,通过后缀名设置需要内容同步的文件类型。
在本实施例中,后续同步过程针对所设置的文件类型将使用逐行内容对比的方式(也就是对比每个代码行)进行同步,而其余文件将以资源文件对比的方式(也就是对比整个文件的MD5码)进行同步。
例如,可以设置后缀名为.cpp、.css、.html、.java和.mm的这些文件类型进行内容同步。
S306,获取最老的原始版本的代码文件中的各个文件并判断所述文件是否属于所设置的文件类型。当所述文件属于所设置的文件类型时,执行步骤S308-S310。当所述文件不属于所设置的文件类型时,执行步骤S312-S314。
在对比同步时以所述最老的原始版本的代码文件为基础,因此先遍历所述最老的原始版本的代码文件中的各个文件,针对当前文件判断是否属于所设置的文件类型。若属于所设置的文件类型,则使用逐行内容对比的方式进行同步,否则将以资源文件对比的方式进行同步。
S308,对比每个修改版本的代码文件与最老的原始版本的代码文件中所述文件的每个代码行,得到每个修改版本的代码文件针对每个代码行的具体修改内容和修改类型。
为了得到最终优化版本的代码文件,需要先将每个修改版本的代码文件(原始版本新和优化版本N)与最老的原始版本的代码文件(原始版本老)进行对比,找到每个修改版本的代码文件修改的内容。其中,所述对比是针对所述最老的原始版本的代码文件中的所有文件中的每个代码行,分别找到每个修改版本的代码文件中相同路径下相同文件的对应代码行,逐行进行内容对比。
该步骤的具体内容参阅第一实施例中的说明,在此不再赘述。
S310,根据每个修改版本的代码文件对应的所述初始优先级和每个修改类型对应的所述修改优先级,确定每个代码行的最优修改结果,得到所述文件的最终优化版本。
在根据上一步骤的逐行内容对比得到每个修改版本的代码文件针对每个代码行的具体修改内容和修改类型后,判断每个修改版本的代码文件是否对当前代码行有修改。当仅有一个修改版本的代码文件对所述当前代码行有修改时,使用所述修改版本的代码文件对所述当前代码行的具体修改内容作为所述当前代码行的最优修改结果。当有多个修改版本的代码文件对所述当前代码行有修改时,分别计算各个修改版本的优先级,使用优先级最高的修改版本的代码文件对所述当前代码行的具体修改内容作为所述当前代码行的最优修改结果。
该步骤的具体内容参阅第一实施例中的说明,在此不再赘述。
S312,对比每个修改版本的代码文件与最老的原始版本的代码文件中所述文件的MD5码,判断所述修改版本的代码文件对所述最老的原始版本的代码文件的修改结果。
针对不属于所设置的文件类型的文件,通过对比整个文件的MD5码来判断文件是否修改。判断条件为:分别读取两个文件的内容获取对应MD5码,对比两个文件的MD5码是否相同,当相同时表示发生修改,当不相同时表示未发生修改。
S314,根据每个修改版本的代码文件对应的所述初始优先级确定所述文件的最优修改结果,得到所述文件的最终优化版本。
具体而言,在本实施例中,采用的方式是无修改自动同步和新增自动同步。所述无修改自动同步是指对比原始版本新和原始版本老后判断为无修改的文件,直接使用优化版本N中优先级最高的相同文件作为所述文件的最终优化版本。所述新增自动同步是指当优化版本N相对于原始版本老有新增文件时,将优化版本N中优先级最高的新增文件作为所述文件的最终优化版本。此时所述优先级为所述文件对应的所述初始优先级。
例如,假设原始版本老中的资源文件A不属于所设置的文件类型,则判断原始版本新中是否存在所述资源文件A。若原始版本新中存在所述资源文件A,则进一步判断优化版本N中是否存在所述资源文件A。若优化版本N中是否存在所述资源文件A,则获取原始版本老中所述资源文件A的第一MD5码和原始版本新中所述资源文件A的第二MD5码进行对比,当两者相同时使用优化版本N中优先级最高的所述资源文件A作为最终优化版本。若原始版本新中不存在所述资源文件A,则直接使用优化版本N中优先级最高的所述资源文件A作为最终优化版本。
本实施例提出的多版本代码升级方法,可以通过增加各个版本代码文件之间的对比,根据预设的同步策略(可以自定义设计各种优先级等策略)分析各版本之间每个代码行的修改类型和优先级,给出最优修改结果,自动合并升级得到最终优化的代码文件。该方法可以有效降低代码版本迭代过程中人工审核代码的负担,以及降低针对多个版本的代码文件进行升级时的时间成本和出错概率。并且,还可以预设需要进行内容同步的文件类型,针对不同的文件类型分别采用逐行内容对比和整个文件的MD码对比的方式,能够提升该方法的适用性,并且提高对比同步的效率。
实施例三
如图9所示,为本申请第三实施例提出一种电子装置20的硬件架构示意图。本实施例中,所述电子装置20可包括,但不仅限于,可通过***总线相互通信连接的存储器21、处理器22、网络接口23。需要指出的是,图9仅示出了具有组件21-23的电子装置20,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。在本实施例中,所述电子装置20可以是所述服务器4。
所述存储器21至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器21可以是所述电子装置20的内部存储单元,例如该电子装置20的硬盘或内存。在另一些实施例中,所述存储器21也可以是所述电子装置20的外部存储设备,例如该电子装置20上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器21还可以既包括所述电子装置20的内部存储单元也包括其外部存储设备。本实施例中,所述存储器21通常用于存储安装于所述电子装置20的操作***和各类应用软件,例如多版本代码升级***60的程序代码等。此外,所述存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器22在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制所述电子装置20的总体操作。本实施例中,所述处理器22用于运行所述存储器21中存储的程序代码或者处理数据,例如运行所述多版本代码升级***60等。
所述网络接口23可包括无线网络接口或有线网络接口,该网络接口23通常用于在所述电子装置20与其他电子设备之间建立通信连接。
实施例四
如图10所示,为本申请第四实施例提出一种多版本代码升级***60的模块示意图。所述多版本代码升级***60可以被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本申请实施例。本申请实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,以下描述将具体介绍本实施例各程序模块的功能。
在本实施例中,所述多版本代码升级***60包括:
设置模块600,用于设置各版本代码文件的路径和初始优先级。
例如,可以设置代码提供方提供的最老的原始版本的代码文件(原始版本老)的路径、代码提供方提供的最新的原始版本的代码文件(原始版本新)的路径、代码接受方根据所述最老的原始版本的代码文件进行优化后得到的各个优化版本的代码文件(优化版本N,例如某个游戏原始版本为日本版本,优化版本可以包括台服版本、韩服版本、国服版本等)的路径、最终优化版本的代码文件(优化版本新,初始内容为原始版本新,同时具备各个优化版本中的优化内容)的路径(初始路径内容为空)。
所述各版本代码文件的初始优先级主要是原始版本新和优化版本N这两种中各个代码文件对应的初始优先级。其中,优化版本N中每个优化版本的代码文件都对应一个属于自己的初始优先级。
所述设置模块600,还用于设置各种修改类型对应的修改优先级。
所述修改类型包括新增修改(相对于原始版本老新增的代码行)、内容修改(相对于原始版本老内容有修改的代码行)和删除修改(相对于原始版本老删除的代码行)。因此,所述修改优先级包括新增修改的优先级、内容修改的优先级和删除修改的优先级。
另外,本实施例还可以针对符合预设条件的修改内容设置附加优先级。所述附加优先级用于针对特殊内容使用,例如针对一定要或者一定不要的代码内容,通过所述附加优先级可以控制内容使用顺序。所述附加优先级的使用方式为判断当前代码行的修改内容是否满足所述预设条件,若满足则对应的所述附加优先级为一个预设值,所述预设值通常为无穷大或者无穷小;若不满足则所述附加优先级为0。
所述优先级的大小意义在于,当两个版本的代码文件对同一代码行的修改内容存在冲突时,优先级大的修改内容会作为最优修改结果,优先级低的修改内容在最后得到的最终优化版本的代码文件中会被放弃。具体每个优先级的大小可以根据代码同步需求决定,例如版本越新对应的所述初始优先级越高。又例如,假设需要优先使用删除修改,则将删除修改的优先级设置为大于内容修改的优先级。
在一种优选实施例中,设置优先级时还可以保证优化版本N的优先级减去原始版本新的优先级的绝对值小于新增修改的优先级、内容修改的优先级和删除修改的优先级中的任何一个优先级值。
对比模块602,用于对比每个修改版本的代码文件与最老的原始版本的代码文件中的每个代码行,得到每个修改版本的代码文件针对每个代码行的具体修改内容和修改类型。
在设置完成后,为了得到最终优化版本的代码文件,需要先将每个修改版本的代码文件(原始版本新和优化版本N)与最老的原始版本的代码文件(原始版本老)进行对比,找到每个修改版本的代码文件修改的内容。其中,所述对比是针对所述最老的原始版本的代码文件中的所有文件中的每个代码行,分别找到每个修改版本的代码文件中相同路径下相同文件的对应代码行,逐行进行内容对比。
所述对比模块602进行对比的具体过程参阅第一实施例中的说明,在此不再赘述。
优化模块604,用于根据每个修改版本的代码文件对应的所述初始优先级和每个修改类型对应的所述修改优先级,确定每个代码行的最优修改结果,得到最终优化版本的代码文件。
在所述对比模块602得到每个修改版本的代码文件针对每个代码行的具体修改内容和修改类型后,优化模块604判断每个修改版本的代码文件是否对当前代码行有修改。当仅有一个修改版本的代码文件对所述当前代码行有修改时,使用所述修改版本的代码文件对所述当前代码行的具体修改内容作为所述当前代码行的最优修改结果。当有多个修改版本的代码文件对所述当前代码行有修改时,分别计算各个修改版本的优先级,使用优先级最高的修改版本的代码文件对所述当前代码行的具体修改内容作为所述当前代码行的最优修改结果。所有代码行的最优修改结果组成所述最终优化版本的代码文件。
优化模块604得到最终优化版本的代码文件的具体过程参阅第一实施例中的说明,在此不再赘述。
本实施例提出的多版本代码升级***,可以通过增加各个版本代码文件之间的对比,根据预设的同步策略(可以自定义设计各种优先级等策略)分析各版本之间每个代码行的修改类型和优先级,给出最优修改结果,自动合并升级得到最终优化的代码文件。该方法可以有效降低代码版本迭代过程中人工审核代码的负担,以及降低针对多个版本的代码文件进行升级时的时间成本和出错概率。
实施例五
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有多版本代码升级程序,所述多版本代码升级程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的多版本代码升级方法的步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结合。
以上仅为本申请实施例的优选实施例,并非因此限制本申请实施例的专利范围,凡是利用本申请实施例说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请实施例的专利保护范围内。
Claims (10)
1.一种多版本代码升级方法,其特征在于,所述方法包括:
设置每个版本代码文件的路径和初始优先级;
设置各种修改类型对应的修改优先级;
对比每个修改版本的代码文件与最老的原始版本的代码文件中的每个代码行,得到每个修改版本的代码文件针对每个代码行的具体修改内容和修改类型;及
根据每个修改版本的代码文件对应的所述初始优先级和每个修改类型对应的所述修改优先级,确定每个代码行的最优修改结果,得到最终优化版本的代码文件。
2.根据权利要求1所述的多版本代码升级方法,其特征在于,所述方法在设置各种修改类型对应的修改优先级后还包括:
针对符合预设条件的修改内容设置附加优先级;
在所述确定每个代码行的最优修改结果时根据每个版本的代码文件对应的所述初始优先级、每个修改类型对应的所述修改优先级和所述附加优先级进行综合判断。
3.根据权利要求1或2所述的多版本代码升级方法,其特征在于,所述修改类型包括新增修改、内容修改和删除修改。
4.根据权利要求1-3任一项所述的多版本代码升级方法,其特征在于,所述对比每个修改版本的代码文件与最老的原始版本的代码文件中的每个代码行,得到每个修改版本的代码文件针对每个代码行的具体修改内容和修改类型包括:
遍历所述最老的原始版本的代码文件中所有文件,打开文件并获取代码行内容;
对比每个修改版本的代码文件与所述最老的原始版本的代码文件相同路径下的同名文件,通过最长公共子序列算法计算两个文件中每个代码行之间的相似度,得到所述修改版本的代码文件针对所述代码行的具体修改内容和修改类型。
5.根据权利要求1-4任一项所述的多版本代码升级方法,其特征在于,所述根据每个修改版本的代码文件对应的所述初始优先级和每个修改类型对应的所述修改优先级,确定每个代码行的最优修改结果包括:
判断每个修改版本的代码文件是否对当前代码行有修改;
当仅有一个修改版本的代码文件对所述当前代码行有修改时,使用所述修改版本的代码文件对所述当前代码行的具体修改内容作为所述当前代码行的最优修改结果;
当有多个修改版本的代码文件对所述当前代码行有修改时,分别计算各个修改版本的优先级,所述优先级包括所述初始优先级加上所述修改优先级,使用优先级最高的修改版本的代码文件对所述当前代码行的具体修改内容作为所述当前代码行的最优修改结果。
6.根据权利要求5所述的多版本代码升级方法,其特征在于,所述根据每个修改版本的代码文件对应的所述初始优先级和每个修改类型对应的所述修改优先级,确定每个代码行的最优修改结果还包括:
当出现多个修改版本的代码文件对所述当前代码行均有修改且优先级相同时,提示用户人工处理冲突内容,根据用户的处理结果得到所述当前代码行的最优修改结果。
7.根据权利要求1所述的多版本代码升级方法,其特征在于,所述方法在对比每个修改版本的代码文件与最老的原始版本的代码文件中的每个代码行之前还包括:
通过后缀名设置需要内容同步的文件类型;
在每个修改版本的代码文件与最老的原始版本的代码文件中,针对所述文件类型的文件执行对比每个代码行的步骤;
针对非所述文件类型的文件,通过对比所述文件的MD5码判断修改结果,并根据每个修改版本的代码文件对应的所述初始优先级确定所述文件的最优修改结果。
8.一种多版本代码升级***,其特征在于,所述***包括:
设置模块,用于设置每个版本代码文件的路径和初始优先级,以及设置各种修改类型对应的修改优先级;
对比模块,用于对比每个修改版本的代码文件与最老的原始版本的代码文件中的每个代码行,得到每个修改版本的代码文件针对每个代码行的具体修改内容和修改类型;
优化模块,用于根据每个修改版本的代码文件对应的所述初始优先级和每个修改类型对应的所述修改优先级,确定每个代码行的最优修改结果,得到最终优化版本的代码文件。
9.一种电子装置,其特征在于,所述电子装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的多版本代码升级程序,所述多版本代码升级程序被所述处理器执行时实现如权利要求1至7中任一项所述的多版本代码升级方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有多版本代码升级程序,所述多版本代码升级程序被处理器执行时实现如权利要求1至7中任一项所述的多版本代码升级方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110836701.9A CN113535206B (zh) | 2021-07-23 | 2021-07-23 | 多版本代码升级方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110836701.9A CN113535206B (zh) | 2021-07-23 | 2021-07-23 | 多版本代码升级方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113535206A true CN113535206A (zh) | 2021-10-22 |
CN113535206B CN113535206B (zh) | 2024-02-20 |
Family
ID=78088838
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110836701.9A Active CN113535206B (zh) | 2021-07-23 | 2021-07-23 | 多版本代码升级方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113535206B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116302078A (zh) * | 2023-05-19 | 2023-06-23 | 深圳前海环融联易信息科技服务有限公司 | 代码文件合并方法及装置、存储介质、计算机设备 |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060225040A1 (en) * | 2005-03-30 | 2006-10-05 | Lucent Technologies Inc. | Method for performing conditionalized N-way merging of source code |
CN102314411A (zh) * | 2010-06-30 | 2012-01-11 | 百度在线网络技术(北京)有限公司 | 处理词条编创冲突的方法与*** |
US20150220332A1 (en) * | 2014-02-05 | 2015-08-06 | International Business Machines Corporation | Resolving merge conflicts that prevent blocks of program code from properly being merged |
CN106126410A (zh) * | 2016-05-26 | 2016-11-16 | 华为技术有限公司 | 代码冲突的提示方法及装置 |
CN106406918A (zh) * | 2016-11-25 | 2017-02-15 | 华胜信泰信息产业发展有限公司 | 源代码自动合并方法和源代码自动合并装置 |
CN106484606A (zh) * | 2015-09-01 | 2017-03-08 | 阿里巴巴集团控股有限公司 | 一种代码提交方法和设备 |
CN106569844A (zh) * | 2016-09-23 | 2017-04-19 | 北京五八信息技术有限公司 | 程序代码更新的处理方法、装置和设备 |
CN107832062A (zh) * | 2017-09-08 | 2018-03-23 | 上海壹账通金融科技有限公司 | 一种程序更新方法及终端设备 |
CN109446492A (zh) * | 2018-10-17 | 2019-03-08 | 南京垂宇网络科技有限公司 | 一种维护文档编辑数据一致性的方法 |
US20190339967A1 (en) * | 2018-05-06 | 2019-11-07 | Methodics, Inc. | Design component dependency tree normalization through automatic conflict resolution and/or contextual dependency |
CN111176983A (zh) * | 2019-10-18 | 2020-05-19 | 华为技术有限公司 | 一种代码冲突消解***、方法、装置、设备及介质 |
CN111221566A (zh) * | 2019-12-28 | 2020-06-02 | 华为技术有限公司 | 一种软件代码的多变更版本合并方法及装置 |
CN112148329A (zh) * | 2020-09-18 | 2020-12-29 | 湖南联盛网络科技股份有限公司 | 代码版本自动化更新方法、装置、计算机设备及存储介质 |
CN112612716A (zh) * | 2020-12-28 | 2021-04-06 | 上海品顺信息科技有限公司 | 差异行代码覆盖率增强标记方法、***、设备及存储介质 |
CN112947986A (zh) * | 2020-09-29 | 2021-06-11 | 深圳市明源云科技有限公司 | 多版本代码签入控制方法、装置、客户端及存储介质 |
CN113110871A (zh) * | 2021-04-27 | 2021-07-13 | 东南大学 | 一种基于文本比较的多版本软件演化历史静态分析方法及*** |
-
2021
- 2021-07-23 CN CN202110836701.9A patent/CN113535206B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060225040A1 (en) * | 2005-03-30 | 2006-10-05 | Lucent Technologies Inc. | Method for performing conditionalized N-way merging of source code |
CN102314411A (zh) * | 2010-06-30 | 2012-01-11 | 百度在线网络技术(北京)有限公司 | 处理词条编创冲突的方法与*** |
US20150220332A1 (en) * | 2014-02-05 | 2015-08-06 | International Business Machines Corporation | Resolving merge conflicts that prevent blocks of program code from properly being merged |
CN106484606A (zh) * | 2015-09-01 | 2017-03-08 | 阿里巴巴集团控股有限公司 | 一种代码提交方法和设备 |
CN106126410A (zh) * | 2016-05-26 | 2016-11-16 | 华为技术有限公司 | 代码冲突的提示方法及装置 |
CN106569844A (zh) * | 2016-09-23 | 2017-04-19 | 北京五八信息技术有限公司 | 程序代码更新的处理方法、装置和设备 |
CN106406918A (zh) * | 2016-11-25 | 2017-02-15 | 华胜信泰信息产业发展有限公司 | 源代码自动合并方法和源代码自动合并装置 |
CN107832062A (zh) * | 2017-09-08 | 2018-03-23 | 上海壹账通金融科技有限公司 | 一种程序更新方法及终端设备 |
US20190339967A1 (en) * | 2018-05-06 | 2019-11-07 | Methodics, Inc. | Design component dependency tree normalization through automatic conflict resolution and/or contextual dependency |
CN109446492A (zh) * | 2018-10-17 | 2019-03-08 | 南京垂宇网络科技有限公司 | 一种维护文档编辑数据一致性的方法 |
CN111176983A (zh) * | 2019-10-18 | 2020-05-19 | 华为技术有限公司 | 一种代码冲突消解***、方法、装置、设备及介质 |
CN111221566A (zh) * | 2019-12-28 | 2020-06-02 | 华为技术有限公司 | 一种软件代码的多变更版本合并方法及装置 |
CN112148329A (zh) * | 2020-09-18 | 2020-12-29 | 湖南联盛网络科技股份有限公司 | 代码版本自动化更新方法、装置、计算机设备及存储介质 |
CN112947986A (zh) * | 2020-09-29 | 2021-06-11 | 深圳市明源云科技有限公司 | 多版本代码签入控制方法、装置、客户端及存储介质 |
CN112612716A (zh) * | 2020-12-28 | 2021-04-06 | 上海品顺信息科技有限公司 | 差异行代码覆盖率增强标记方法、***、设备及存储介质 |
CN113110871A (zh) * | 2021-04-27 | 2021-07-13 | 东南大学 | 一种基于文本比较的多版本软件演化历史静态分析方法及*** |
Non-Patent Citations (4)
Title |
---|
BAIQIANTAO: "构建-9 合并清单文件 Merge", pages 1 - 22, Retrieved from the Internet <URL:《https://it.cha138.com/shida/show-166408.html》> * |
BRAD HART: "Merging Code - How to Automate Merge Strategies", pages 1 - 4, Retrieved from the Internet <URL:《https://www.perforce.com/blog/vcs/merging-code-how-automate-it》> * |
X. XING等: "Automatic Software Merging using Automated Program Repair", 《2019 IEEE 1ST INTERNATIONAL WORKSHOP ON INTELLIGENT BUG FIXING (IBF)》, pages 11 - 16 * |
于晓杰: "机场旅客智能服务***Android客户端的设计与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》, no. 08, pages 138 - 273 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116302078A (zh) * | 2023-05-19 | 2023-06-23 | 深圳前海环融联易信息科技服务有限公司 | 代码文件合并方法及装置、存储介质、计算机设备 |
CN116302078B (zh) * | 2023-05-19 | 2023-08-01 | 深圳前海环融联易信息科技服务有限公司 | 代码文件合并方法及装置、存储介质、计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113535206B (zh) | 2024-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019056540A1 (zh) | 测试用例自动化管理方法、装置、设备及存储介质 | |
US20140164391A1 (en) | Data block saving system and method | |
CN108415998B (zh) | 应用依赖关系更新方法、终端、设备及存储介质 | |
CN113448862B (zh) | 软件版本测试方法、装置及计算机设备 | |
CN112416957B (zh) | 基于数据模型层的数据增量更新方法、装置及计算机设备 | |
CN111881150A (zh) | 一种web应用程序离线数据的处理方法及装置 | |
CN110750286A (zh) | OTA升级Mbn的管理方法、装置、***、设备和介质 | |
CN113535206B (zh) | 多版本代码升级方法及*** | |
CN106130751B (zh) | 一种升级状态数据管理装置、***和方法 | |
CN114780019A (zh) | 电子设备的管理方法、装置、电子设备及存储介质 | |
CN111488483B (zh) | 曲库更新方法、装置、终端和非临时性计算机可读存储介质 | |
CN111046316B (zh) | 一种应用上架状态监控方法、智能终端及存储介质 | |
CN112631646A (zh) | App版本降级的数据兼容方法、装置、设备及存储介质 | |
CN112416384A (zh) | 软件升级方法、装置及计算机设备 | |
CN116048609A (zh) | 配置文件更新方法、装置、计算机设备和存储介质 | |
CN115004667B (zh) | 信息推送方法、装置、电子设备及计算机可读介质 | |
CN114466387A (zh) | 基站的配置文件的更新方法、装置、存储介质和电子装置 | |
CN112783866A (zh) | 数据读取方法、装置、计算机设备和存储介质 | |
CN112416383A (zh) | golang程序热更新方法、装置以及计算机设备 | |
CN108415922B (zh) | 数据库修改方法及应用服务器 | |
CN111124467A (zh) | 权限角色的展示方法、***、计算机设备及可读存储介质 | |
CN114518844B (zh) | 一种数据处理方法 | |
CN112486556B (zh) | 一种服务器兼容bmc的方法、***、终端及存储介质 | |
CN109996262B (zh) | 一种ac启动方法及装置 | |
CN118312274A (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 |