CN112947986B - 多版本代码签入控制方法、装置、客户端及存储介质 - Google Patents
多版本代码签入控制方法、装置、客户端及存储介质 Download PDFInfo
- Publication number
- CN112947986B CN112947986B CN202011050063.XA CN202011050063A CN112947986B CN 112947986 B CN112947986 B CN 112947986B CN 202011050063 A CN202011050063 A CN 202011050063A CN 112947986 B CN112947986 B CN 112947986B
- Authority
- CN
- China
- Prior art keywords
- code
- file code
- client
- file
- version
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000004590 computer program Methods 0.000 claims description 19
- 230000008569 process Effects 0.000 claims description 19
- 238000011161 development Methods 0.000 claims description 15
- 238000010586 diagram Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
-
- 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
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是本申请实施例二的提供的一种多版本代码签入控制方法的流程示意图;
图3是本申请实施例三提供的一种多版本代码签入控制装置的结构示意图;
图4是本申请实施例四提供的一种客户端的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请实施例提供的一种多版本代码签入控制方法可以应用于掌上电脑、桌上型计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、云端服务器、个人数字助理(personal digital assistant,PDA)等客户端上,上述客户端中设置有数据库,当有事务对数据库进行访问时运行多版本代码签入控制方法,该数据库可以为内存数据库,本申请实施例对客户端的具体类型不作任何限制。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。
参见图1,是本申请实施例一提供的一种多版本代码签入控制方法的流程示意图,该多版本代码签入控制方法可用于客户端,如图所示,该多版本代码签入控制方法可以包括以下步骤:
步骤S101,获取多版本代码包。
其中,多版本代码包含有客户端的原始文件代码和修改文件代码;客户端的原始代码文件可以是指客户端所使用的目标软件的原始代码文件(即目标软件交付使用时的代码),客户端的修改文件代码可以是指针对目标软件的新版本代码。
步骤S102,获取客户端的实际文件代码。
其中,客户端的实际文件代码可以是指客户现在使用的目标软件的代码,若在使用过程中该目标软件被外拓开发,则实际文件代码包括原始文件代码部分和外拓开发部分,若在使用过程中该目标软件未被外拓开发,则实际文件代码为原始文件代码。
本申请的多版本代码签入控制方法运行与客户端中,因此,客户端可以直接拉取该实际文件代码,客户端也可以向其他存储实际文件代码的服务器发送获取代码指令,该服务器响应获取代码指令,将该实际文件代码发送至客户端。
可选的是,获取客户端的实际文件代码包括:
获取客户端的TFS项目地址;
根据TFS项目地址,获取源代码解决方案;
从源代码解决方案中识别代码位置,根据代码位置,获取客户端的实际文件代码。
其中,Team Foundation Server(TFS),是一种提供源代码管理、数据收集、报告和项目跟踪,以协作软件开发的项目,TFS项目地址可以是指指向目标位置的链接,根据TFS项目地址可以获取该TFS中的源代码解决方案,在源代码解决方案中包含代码位置等信息,代码位置表征的是客户端的实际文件代码的存储位置,根据该代码位置即可获取客户端的实际文件代码。
在实际使用中,客户端提供相应的界面,界面中配置有地址输入框或选择框,用户在输入框中输入TFS项目地址或者从选择框中选择TFS项目地址,用于获取该TFS项目地址。
步骤S103,比对原始文件代码与实际文件代码,获取比对结果。
其中,比对结果包括原始文件代码与实际文件代码相同和原始文件代码与实际文件代码不相同,客户端在使用过程中如果没有产生外拓开发,则实际文件代码未发生改变即与原始文件代码相同,客户端在使用过程中陈胜了外拓开发,则实际文件代码发生改变即与原始文件代码不相同。比对过程可以使用代码比对工具,例如,调出Visual StudioIDE工具对原始文件代码与实际文件代码进行比较。
步骤S104,若比对结果为原始文件代码与实际文件代码不相同,则获取修改文件代码与实际文件代码的差异代码。
当原始文件代码与实际文件代码不相同时,说明客户端在使用过程中对该原始文件代码进行了外拓开发,此时,使用代码比对工具获取修改文件代码与实际文件代码两者之间的差异代码,差异代码包括修改文件代码与原始文件代码的差异和实际文件代码与原始文件代码的差异,代码比对工具可以是Visual Studio IDE工具等。
可选的是,获取比对结果之后,还包括:
若比对结果为原始文件代码与实际文件代码相同,则将修改文件代码作为更新文件代码。
当原始文件代码与实际文件代码相同时,说明客户端在使用过程中没有对该原始文件代码进行外拓开发,因此,不需要关注不兼容等问题,可以直接将修改文件代码作为更新文件代码,以实现版本的更新。
步骤S105,根据差异代码,合并修改文件代码与实际文件代码,得到更新文件代码。
获取到差异代码之后,便于操作人员了解差异情况,操作人员通过手动合并修改文件代码和实际文件代码,最终形成更新文件代码,其中,更新文件代码为用于替换客户端的实际文件代码,从而实现客户端的目标软件的版本更新。
步骤S106,将更新文件代码签入客户端。
其中,签入伴随有签出,签入的过程可以是指将客户端的指定位置的代码签出,并将新代码签入客户端的指定位置,代码的签入由源代码管理工具实现,例如,上述源代码管理工具TFS。
可选的是,将更新文件代码签入客户端包括:
将更新文件代码绑定到源代码管理工具的服务器;
若在客户端运行源代码管理工具时获取到签入指令,则从服务器中获取更新文件代码,并将更新文件代码签入客户端。
其中,源代码管理工具对应有服务器,用于存储、管理代码,该源代码管理工具的服务器可以为虚拟服务器,也可以是实体服务器。源代码管理工具需要用户登录才能使用,即用户权限,绑定表征的是用户将更新文件代码上传至源代码管理工具的服务器后,更新文件代码与该用户绑定,该用户登录源代码管理工具后才能对该更新文件代码进行操作。
在客户端运行该源代码管理工具并执行用户登录,执行用户选择的签入指令,签入指令用于指示源代码管理工具从其服务器中获取更新文件代码,并将更新文件代码签入客户端,实现客户端的代码更新。
本申请实施例能够给出修改文件代码与实际文件代码的差异代码,使得用户可以更好、更快地了解修改文件代码与实际文件代码的差异,进而可以得到兼容性较好的更新文件代码,避免出现兼容问题造成的返工等现象,提高了更新的效率。
参见图2,是本申请实施例二提供的一种多版本代码签入控制方法的流程示意图,该多版本代码签入控制方法可用于客户端,如图所示,该多版本代码签入控制方法可以包括以下步骤:
步骤S201,获取多版本代码包。
步骤S202,获取客户端的实际文件代码。
步骤S203,比对原始文件代码与实际文件代码,获取比对结果。
步骤S204,若比对结果为原始文件代码与实际文件代码不相同,则获取修改文件代码与实际文件代码的差异代码。
其中,步骤S201至步骤S204与上述步骤S101至步骤S104的内容相同,可参考步骤S101至步骤S104的描述,在此不再赘述。
步骤S205,获取针对差异代码中每条代码的操作信号。
其中,差异代码包括至少一条代码,操作人员根据每条代码的内容并针对每条代码给出相应的操作信号,操作信号可以包括合并信号和不合并信号,合并信号用于指示将对应的代码并入实际文件代码,不合并信号用于指示对应代码不并入实际文件代码。
可选的是,在获取修改文件代码与实际文件代码的差异代码之后,还包括:
显示差异代码;
针对差异代码中每条代码生成操作页面,操作页面用于获取针对差异代码中每条代码的操作信号。
其中,显示差异代码可以使操作人员更直观的获取代码内容,对应的针对每条代码生成操作页面,例如,鼠标点击选中一条代码,产生包含“合并”选项和“不合并”选项的操作页面,点击“合并”选项表征操作页面获取到合并信号,点击“不合并”选项表征操作页面获取到不合并信号。
步骤S206,若操作信号为合并信号,则将操作信号对应的代码并入实际文件代码。
其中,操作信号为合并信号的代码表征的是操作人员根据实际情况选择的结果,可以避免这部分代码与实际文件代码不兼容的情况。在实际使用中,并入可以是指操作人员在实际文件代码和/或修改文件代码中找到对应的位置,并将合并信号的代码放入该位置。
步骤S207,将更新文件代码签入客户端。
其中,步骤S207与上述步骤S106的内容相同,可参考步骤S106的描述,在此不做赘述。
本申请实施例能够获取针对差异代码中每条代码的操作信号,并根据操作信号执行合并与否的操作,便于用户更快地得到更新文件代码,提高了效率,节约了时间。
对应于上文实施例的多版本代码签入控制方法,图3示出了本申请实施例二提供的多版本代码签入控制装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参见图3,该多版本代码签入控制装置包括:
代码包获取模块31,用于获取多版本代码包,多版本代码包含有客户端的原始文件代码和修改文件代码;
实际获取模块32,用于获取客户端的实际文件代码;
结果获取模块33,用于比对原始文件代码与实际文件代码,获取比对结果;
差异获取模块34,用于若比对结果为原始文件代码与实际文件代码不相同,则获取修改文件代码与实际文件代码的差异代码;
第一更新确定模块35,用于根据差异代码,合并修改文件代码与实际文件代码,得到更新文件代码;
签入模块36,用于将更新文件代码签入客户端。
可选的是,多版本代码签入控制装置还包括:
第二更新确定模块,用于若比对结果为原始文件代码与实际文件代码相同,则将修改文件代码作为更新文件代码。
可选的是,第一更新确定模块35包括:
信号获取单元,用于获取针对差异代码中每条代码的操作信号;
合并单元,用于若操作信号为合并信号,则将操作信号对应的代码并入实际文件代码。
可选的是,多版本代码签入控制装置还包括:
显示模块,用于显示差异代码;
页面生成模块,用于针对差异代码中每条代码生成操作页面,操作页面用于获取针对差异代码中每条代码的操作信号。
可选的是,签入模块36包括:
绑定单元,用于将更新文件代码绑定到源代码管理工具的服务器;
签入单元,用于若在客户端运行源代码管理工具时获取到签入指令,则从服务器中获取更新文件代码,并将更新文件代码签入客户端。
可选的是,实际获取模块32包括:
地址获取单元,用于获取客户端的TFS项目地址;
方案获取单元,用于根据TFS项目地址,获取源代码解决方案;
实际获取单元,用于从源代码解决方案中识别代码位置,根据代码位置,获取客户端的实际文件代码。
需要说明的是,上述模块之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
图4为本申请实施例三提供的一种客户端的结构示意图。如图4所示,该实施例的客户端4包括:至少一个处理器40(图4中仅示出一个)处理器、存储器41以及存储在存储器41中并可在至少一个处理器40上运行的计算机程序42,处理器40执行计算机程序42时实现上述任意各个多版本代码签入控制方法实施例中的步骤。
该客户端可包括,但不仅限于,处理器40、存储器41。本领域技术人员可以理解,图4仅仅是客户端4的举例,并不构成对客户端4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等;又如,RGB相机、机械臂等客户端实体中需要设置的部件。
所称处理器40可以是中央处理单元(Central Processing Unit,CPU),该处理器40还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器41在一些实施例中可以是客户端4的内部存储单元,例如客户端4的硬盘或内存。存储器41在另一些实施例中也可以是客户端4的外部存储设备,例如客户端4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器41还可以既包括客户端4的内部存储单元也包括外部存储设备。存储器41用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如计算机程序的程序代码等。存储器41还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述装置中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质至少可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
本申请实现上述实施例方法中的全部或部分流程,也可以通过一种计算机程序产品来完成,当计算机程序产品在客户端上运行时,使得客户端执行时实现可实现上述方法实施例中的步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/客户端和方法,可以通过其它的方式实现。例如,以上所描述的装置/客户端实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种多版本代码签入控制方法,其特征在于,所述多版本代码签入控制方法包括:
获取多版本代码包,所述多版本代码包含有客户端的原始文件代码和修改文件代码,所述修改文件代码是指针对目标软件的新版本代码;
获取所述客户端的实际文件代码,其中,若在使用过程中目标软件被外拓开发,则实际文件代码包括原始文件代码部分和外拓开发部分;
比对所述原始文件代码与所述实际文件代码,获取比对结果;
若所述比对结果为所述原始文件代码与所述实际文件代码不相同,则获取所述修改文件代码与所述实际文件代码的差异代码,其中,若客户端在使用过程中产生了外拓开发,则实际文件代码发生改变即与原始文件代码不相同;
根据所述差异代码,合并所述修改文件代码与所述实际文件代码,得到更新文件代码;
将所述更新文件代码签入所述客户端;
所述差异代码包括修改文件代码与原始文件代码的差异和实际文件代码与原始文件代码的差异。
2.如权利要求1所述的多版本代码签入控制方法,其特征在于,所述获取比对结果之后,还包括:
若所述比对结果为所述原始文件代码与所述实际文件代码相同,则将所述修改文件代码作为更新文件代码。
3.如权利要求1所述的多版本代码签入控制方法,其特征在于,所述根据所述差异代码,合并所述修改文件代码与所述实际文件代码,得到更新文件代码包括:
获取针对所述差异代码中每条代码的操作信号;
若所述操作信号为合并信号,则将所述操作信号对应的代码并入所述实际文件代码。
4.如权利要求3所述的多版本代码签入控制方法,其特征在于,在所述获取所述修改文件代码与所述实际文件代码的差异代码之后,还包括:
显示所述差异代码;
针对所述差异代码中每条代码生成操作页面,所述操作页面用于获取针对所述差异代码中每条代码的操作信号。
5.如权利要求1所述的多版本代码签入控制方法,其特征在于,所述将所述更新文件代码签入所述客户端包括:
将所述更新文件代码绑定到源代码管理工具的服务器;
若在所述客户端运行所述源代码管理工具时获取到签入指令,则从所述服务器中获取所述更新文件代码,并将所述更新文件代码签入所述客户端。
6.如权利要求1至5任一项所述的多版本代码签入控制方法,其特征在于,所述获取所述客户端的实际文件代码包括:
获取所述客户端的TFS项目地址;
根据所述TFS项目地址,获取源代码解决方案;
从所述源代码解决方案中识别代码位置,根据所述代码位置,获取所述客户端的实际文件代码。
7.一种多版本代码签入控制装置,其特征在于,所述多版本代码签入控制装置包括:
代码包获取模块,用于获取多版本代码包,所述多版本代码包含有客户端的原始文件代码和修改文件代码,所述修改文件代码是指针对目标软件的新版本代码;
实际获取模块,用于获取所述客户端的实际文件代码,其中,若在使用过程中目标软件被外拓开发,则实际文件代码包括原始文件代码部分和外拓开发部分;
结果获取模块,用于比对所述原始文件代码与所述实际文件代码,获取比对结果;
差异获取模块,用于若所述比对结果为所述原始文件代码与所述实际文件代码不相同,则获取所述修改文件代码与所述实际文件代码的差异代码,其中,若客户端在使用过程中产生了外拓开发,则实际文件代码发生改变即与原始文件代码不相同;
第一更新确定模块,用于根据所述差异代码,合并所述修改文件代码与所述实际文件代码,得到更新文件代码;
签入模块,用于将所述更新文件代码签入所述客户端;
所述差异代码包括修改文件代码与原始文件代码的差异和实际文件代码与原始文件代码的差异。
8.如权利要求7所述的多版本代码签入控制装置,其特征在于,所述多版本代码签入控制装置还包括:
第二更新确定模块,用于若所述比对结果为所述原始文件代码与所述实际文件代码相同,则将所述修改文件代码作为更新文件代码。
9.一种客户端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述的多版本代码签入控制方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的多版本代码签入控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011050063.XA CN112947986B (zh) | 2020-09-29 | 2020-09-29 | 多版本代码签入控制方法、装置、客户端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011050063.XA CN112947986B (zh) | 2020-09-29 | 2020-09-29 | 多版本代码签入控制方法、装置、客户端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112947986A CN112947986A (zh) | 2021-06-11 |
CN112947986B true CN112947986B (zh) | 2024-05-24 |
Family
ID=76234598
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011050063.XA Active CN112947986B (zh) | 2020-09-29 | 2020-09-29 | 多版本代码签入控制方法、装置、客户端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112947986B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113434174A (zh) * | 2021-06-28 | 2021-09-24 | 广联达科技股份有限公司 | 协同项目的配置方法、装置及电子设备 |
CN113535206B (zh) * | 2021-07-23 | 2024-02-20 | 上海幻电信息科技有限公司 | 多版本代码升级方法及系统 |
CN113934644B (zh) * | 2021-12-16 | 2022-04-15 | 深圳市明源云链互联网科技有限公司 | 版本差异对比方法、装置、智能终端及可读存储介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104780076A (zh) * | 2015-03-19 | 2015-07-15 | 杭州华三通信技术有限公司 | 一种代码检查方法和设备 |
CN105468410A (zh) * | 2015-11-24 | 2016-04-06 | 小米科技有限责任公司 | 系统升级方法及装置 |
CN105718251A (zh) * | 2014-12-03 | 2016-06-29 | 苏宁云商集团股份有限公司 | 多语言sdk自动化实现方法及系统 |
CN105808284A (zh) * | 2014-12-31 | 2016-07-27 | 广州市动景计算机科技有限公司 | 一种增量升级方法及应用其的服务器 |
CN106201577A (zh) * | 2016-06-27 | 2016-12-07 | 竞技世界(北京)网络技术有限公司 | 一种更新Lua文件的方法及装置 |
CN106528125A (zh) * | 2016-10-26 | 2017-03-22 | 腾讯科技(深圳)有限公司 | 一种数据文件的增量更新方法和服务器、客户端以及系统 |
CN106569844A (zh) * | 2016-09-23 | 2017-04-19 | 北京五八信息技术有限公司 | 程序代码更新的处理方法、装置和设备 |
CN107193607A (zh) * | 2017-05-26 | 2017-09-22 | 网易(杭州)网络有限公司 | 用于更新代码文件的方法和装置、存储介质、处理器以及终端 |
CN108170425A (zh) * | 2017-12-29 | 2018-06-15 | 东莞市高标软件科技有限公司 | 一种程序代码的修改方法、修改装置及终端设备 |
CN108491331A (zh) * | 2018-04-13 | 2018-09-04 | 平安普惠企业管理有限公司 | 软件测试方法、装置、设备和计算机存储介质 |
CN109086071A (zh) * | 2018-08-22 | 2018-12-25 | 平安普惠企业管理有限公司 | 一种管理软件版本信息的方法及服务器 |
CN109683912A (zh) * | 2018-12-29 | 2019-04-26 | 有米科技股份有限公司 | 软件集成与部署的方法、装置、服务器及存储介质 |
CN110515755A (zh) * | 2019-07-11 | 2019-11-29 | 平安普惠企业管理有限公司 | 接口功能验证方法、装置、设备及计算机可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9489193B2 (en) * | 2012-05-01 | 2016-11-08 | Sophos Limited | Method and system for providing software updates to local machines |
-
2020
- 2020-09-29 CN CN202011050063.XA patent/CN112947986B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105718251A (zh) * | 2014-12-03 | 2016-06-29 | 苏宁云商集团股份有限公司 | 多语言sdk自动化实现方法及系统 |
CN105808284A (zh) * | 2014-12-31 | 2016-07-27 | 广州市动景计算机科技有限公司 | 一种增量升级方法及应用其的服务器 |
CN104780076A (zh) * | 2015-03-19 | 2015-07-15 | 杭州华三通信技术有限公司 | 一种代码检查方法和设备 |
CN105468410A (zh) * | 2015-11-24 | 2016-04-06 | 小米科技有限责任公司 | 系统升级方法及装置 |
CN106201577A (zh) * | 2016-06-27 | 2016-12-07 | 竞技世界(北京)网络技术有限公司 | 一种更新Lua文件的方法及装置 |
CN106569844A (zh) * | 2016-09-23 | 2017-04-19 | 北京五八信息技术有限公司 | 程序代码更新的处理方法、装置和设备 |
CN106528125A (zh) * | 2016-10-26 | 2017-03-22 | 腾讯科技(深圳)有限公司 | 一种数据文件的增量更新方法和服务器、客户端以及系统 |
CN107193607A (zh) * | 2017-05-26 | 2017-09-22 | 网易(杭州)网络有限公司 | 用于更新代码文件的方法和装置、存储介质、处理器以及终端 |
CN108170425A (zh) * | 2017-12-29 | 2018-06-15 | 东莞市高标软件科技有限公司 | 一种程序代码的修改方法、修改装置及终端设备 |
CN108491331A (zh) * | 2018-04-13 | 2018-09-04 | 平安普惠企业管理有限公司 | 软件测试方法、装置、设备和计算机存储介质 |
CN109086071A (zh) * | 2018-08-22 | 2018-12-25 | 平安普惠企业管理有限公司 | 一种管理软件版本信息的方法及服务器 |
CN109683912A (zh) * | 2018-12-29 | 2019-04-26 | 有米科技股份有限公司 | 软件集成与部署的方法、装置、服务器及存储介质 |
CN110515755A (zh) * | 2019-07-11 | 2019-11-29 | 平安普惠企业管理有限公司 | 接口功能验证方法、装置、设备及计算机可读存储介质 |
Non-Patent Citations (3)
Title |
---|
Label Size Increment of Bit String Based Labeling Scheme in Dynamic XML Updating;Meghdad Mirabi 等;《Digital Enterprise and Information Systems》;20110720(第194期);466-477 * |
TM反病毒软件服务器增量升级的设计与实现;孙亚京;《中国优秀硕士学位论文全文数据库 信息科技辑》;20150415(第4期);I138-539 * |
基于软件多版本演化提取克隆谱系;涂颖 等;《计算机应用》;20150410;第35卷(第4期);1169-1173 * |
Also Published As
Publication number | Publication date |
---|---|
CN112947986A (zh) | 2021-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112947986B (zh) | 多版本代码签入控制方法、装置、客户端及存储介质 | |
WO2019140828A1 (zh) | 电子装置、分布式系统日志查询方法及存储介质 | |
US10402310B1 (en) | Systems and methods for reducing storage required for code coverage results | |
CN112163412B (zh) | 数据校验方法、装置、电子设备及存储介质 | |
CN112596932A (zh) | 服务注册及拦截方法、装置、电子设备及可读存储介质 | |
WO2019019702A1 (zh) | 算法的生成方法、装置、终端设备及存储介质 | |
US9971794B2 (en) | Converting data objects from multi- to single-source database environment | |
CN111818145B (zh) | 一种文件传输方法、装置、系统、设备及存储介质 | |
CN108345658B (zh) | 算法计算轨迹的分解处理方法、服务器及存储介质 | |
CN112671609A (zh) | 一种资产普查与安全检测方法、装置及终端设备 | |
CN111522574A (zh) | 差分包生成方法及相关设备 | |
CN111290961A (zh) | 接口测试的管理方法、装置及终端设备 | |
US20170140009A1 (en) | Caching linked queries for optimized compliance management | |
CN113535650A (zh) | 一种文件命名方法及计算设备 | |
CN113434122A (zh) | 多角色页面创建方法、装置、服务器及可读存储介质 | |
US20070283271A1 (en) | System and Method for Providing Indicators of Component Interaction Capability Across Navigation Elements | |
CN112527280A (zh) | 界面展示方法、装置、服务器及可读存储介质 | |
CN112667631A (zh) | 业务字段自动编辑方法、装置、设备及存储介质 | |
CN111861100A (zh) | 一种基于流程评分的工单处理方法及装置 | |
CN116303820A (zh) | 标签生成方法、装置、计算机设备及介质 | |
CN113760237A (zh) | 编译地址的更新方法、装置、终端设备及可读存储介质 | |
CN112364268A (zh) | 资源获取方法、装置、电子设备及存储介质 | |
CN111930720A (zh) | 数据倾斜的处理方法、系统、电子设备和介质 | |
CN111857883A (zh) | 页面数据校验方法、装置、电子设备及存储介质 | |
CN111045983A (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 |