目标代码的选取方法及装置制造方法及图纸

技术编号:14884584 阅读:78 留言:0更新日期:2017-03-25 00:54
本申请实施例涉及一种目标代码的选取方法及装置,包括:获取分支代码对应的代码修改列表以及版本号,其中,所述代码修改列表用于记录所述分支代码中的已变更代码;根据所述版本号,查找所述已变更代码对应的第一变更记录信息;若未查找到所述第一变更记录信息,则将所述已变更代码选取为目标代码。由此,可以实现自动地选取出目标代码,提高了目标代码的选取速度。

【技术实现步骤摘要】

本申请涉及计算机
,尤其涉及一种目标代码的选取方法及装置
技术介绍
在代码的日常开发工作中,当开发人员对已经提交的分支代码进行了更新(如,问题(bug)修复等),特别是,该分支代码已经被多个其它子系统调用,并需要再次提交时,通常需要同时提交上述分支代码中更新部分相关的描述信息,而该描述信息是上述其它子系统修改本地调用接口的重要依据,描述信息的漏提,通常会引起其它子系统不能及时地修改本地调用接口,从而不能正确调用上述分支代码,进一步地,会导致由该分支代码与其它子系统共同实现的业务功能的异常。因此,如何快速而正确的选取出漏提描述信息的分支代码就成为本申请要解决的技术问题。
技术实现思路
本申请实施例提供了一种目标代码的选取方法及装置,可以快速而正确地选取出漏提描述信息的目标代码。第一方面,提供了一种目标代码的选取方法,该方法包括:获取分支代码对应的代码修改列表以及版本号,其中,所述代码修改列表用于记录所述分支代码中的已变更代码;根据所述版本号,查找所述已变更代码对应的第一变更记录信息;若未查找到所述第一变更记录信息,则将所述已变更代码选取为目标代码。第二方面,提供了一种目标代码的选取装置,该装置包括:获取单元、查找单元和选取单元;所述获取单元,用于获取分支代码对应的代码修改列表以及版本号,其中,所述代码修改列表用于记录所述分支代码中的已变更代码;所述查找单元,用于根据所述版本号,查找所述已变更代码对应的第一变更记录信息;所述选取单元,用于若所述查找单元未查找到所述第一变更记录信息,则将所述已变更代码选取为目标代码。本申请提供的目标代码的选取方法及装置,获取分支代码对应的代码修改列表以及版本号,其中,所述代码修改列表用于记录所述分支代码中的已变更代码;根据所述版本号,查找所述已变更代码对应的第一变更记录信息;若未查找到所述第一变更记录信息,则将所述已变更代码选取为目标代码。由此,可以实现自动地选取出目标代码,提高了目标代码的选取速度。附图说明图1为本申请一种实施例提供的目标代码的选取方法流程图;图2为本申请另一种实施例提供的目标代码的选取装置示意图。具体实施方式为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。为便于对本申请实施例的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本申请实施例的限定。本申请实施例提供的目标代码的选取方法及装置,适用于从待合并到主干代码的分支代码中选取目标代码的场景,尤其适用于从开发代码管理工具管理的待合并到主干代码的分支代码中选取目标代码的场景。此处,开发代码管理工具可以包括:分支代码管理系统、检测系统和MVN变更申请管理系统,其中,分支代码管理系统用于对分支代码进行管理,如生成分支代码的代码修改列表及版本号等;检测系统用于检测已变更的分支代码是否已提交对应的变更记录信息;MVN变更申请管理系统用于管理已提交的变更记录信息。需要说明的是,上述主干代码是指开发代码管理工具(如,MAVEN)管理的项目开发代码的主体,是从项目开始到当前都处于活动的状态,从这里可以获得项目最新的源代码和几乎所有的历史变更记录信息;而分支代码是指从主干代码中的某个点分离出来的代码拷贝,在不影响主干代码的前提下,可以对分支代码进行重大的bug修复或者实验性质的开发,如果达到了预期的目的,通常将变更后的分支代码合并到主干代码中去。上述分支代码中涵盖了两层的代码,即涵盖了门面(facade)层的代码和实现层的代码,其中,facade层的代码主要用于为其它子系统提供统一的接口,包含其对外提供的接口的实现类,此处的实现类可以是一个或者多个;而实现层的代码主要用于对facade层的代码中包含的实现类进行具体的实现。需要进一步说明的是,在上述对分支代码进行重大的bug修复或者实验性质的开发时,如果对分支代码中facade层的代码进行了修改,如在接口的实现类:类A中的方法X新增了参数,则在将上述分支代码合并入主干代码时,可以向MVN变更申请管理系统提交对应的变更记录信息,该变更记录信息中包含了facade层的代码中发生变更的实现类以及该实现类变更的描述信息。如,该变更记录信息可以包括类A和描述信息:类A中的方法X新增了参数。此处的变更记录信息是由开发人员编写的。具体地,在MAVEN中,分支代码中facade层的代码通常是通过压缩(jar)包的形式存储的,该jar包唯一地对应一个版本号(即分支代码管理系统为分支代码生成的版本号),其它子系统通过引用该版本号来对该jar包的调用。此处的版本号可以包含jar包生成的时间(也即发布时间),以唯一地区分一个jar包。可以理解的是,当分支代码中facade层的代码发生变更时,可以重新进行打包,且重新打包生成的jar包的版本号也要进行相应的更新。如,假设原始jar包生成的时间是2015年6月1日,则原始jar包的版本号可以为1.0.0.20150601,即以生成的时间结尾。而当重新打包的时间是2015年8月1日时,则重新打包生成的jar包的版本号可以变更为1.0.0.20150801。在MVN变更申请管理系统检测到有新的变更记录信息时,检测调用该变更记录信息对应的jar包的其它子系统(即检测引用了jar包的版本号的其它子系统),并向其它子系统发送通知消息,该通知消息用于指示其它子系统根据与该变更记录信息对应的jar包的最新的版本号,升级其引用的jar包的版本号,并修改本地调用接口函数,以实现对上述jar包的正确调用。图1为本申请一种实施例提供的目标代码的选取方法流程图。所述方法的执行主体可以为具有处理能力的设备:服务器或者系统或者装置,例如,检测系统,如图1所示,所述方法具体可以包括:步骤110,获取分支代码对应的代码修改列表以及版本号,其中,所述代码修改列表用于记录所述分支代码中的已变更代码。此处,分支代码可以是分支代码管理系统中的任一分支代码。即当分支代码管理系统在接收到完成对分支代码的编辑指令之后,自动为该分支代码生成对应的版本号,该版本号的定义同jar包的版本号的定义;此外,还自动检测该分支代码的已变更代码,即自动检测该分支代码中facade层的代码的已变更代码,生成对应的代码修改列表,该代码修改列表可以包括分支代码中的已变更代码。可选地,所述已变更代码包括至少一个类。该至少一个类即为facade层的代码中的实现类。举例来说,第一分支代码的facade层的代码中的实现类包括:类A、类B、类C、类D、类E和类F,当该第一分支代码发生变更时,分支代码管理系统为该已变更的第一分支代码生成的对应的版本号为:20150801,而该第一分支代码对应的代码修改列表如表1所示。表1已变更代码{类E,类F本文档来自技高网...
目标代码的选取方法及装置

【技术保护点】
一种目标代码的选取方法,其特征在于,所述方法包括:获取分支代码对应的代码修改列表以及版本号,其中,所述代码修改列表用于记录所述分支代码中的已变更代码;根据所述版本号,查找所述已变更代码对应的第一变更记录信息;若未查找到所述第一变更记录信息,则将所述已变更代码选取为目标代码。

【技术特征摘要】
1.一种目标代码的选取方法,其特征在于,所述方法包括:获取分支代码对应的代码修改列表以及版本号,其中,所述代码修改列表用于记录所述分支代码中的已变更代码;根据所述版本号,查找所述已变更代码对应的第一变更记录信息;若未查找到所述第一变更记录信息,则将所述已变更代码选取为目标代码。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:若查找到所述第一变更记录信息,则向分支代码管理系统返回指示信息,所述指示信息用于指示所述分支代码管理系统将所述分支代码合并入主干代码,其中,所述分支代码管理系统用于生成所述分支代码对应的代码修改列表以及版本号。3.根据权利要求1或2所述的方法,其特征在于,所述根据所述版本号,查找所述已变更代码对应的第一变更记录信息,包括:根据所述版本号,获取所述分支代码对应的第二变更记录信息;从所述第二变更记录信息中查找所述已变更代码对应的第一变更记录信息。4.根据权利要求1所述的方法,其特征在于,所述已变更代码包括至少一个类;所述查找所述已变更代码对应的第一变更记录信息,包括:查找所述至少一个类中每个类对应的第一变更记录信息。5.根据权利要求4所述的方法,其特征在于,所述若未查找到所述第一变更记录信息,则将所述已变更代码选取为目标代码,包括:若未查找到所述至少一个类中任一类对应的第一变更记录信息,则将所述任一类选取为目标代码。6.根据权利要求4或5所述的方法,其特征在于,所述第二变更记录信
\t息包含一个或者多个类;所述从所述第二变更记录信息中查找所述已变更代码对应的第一变更记录信息,包括:步骤A:将所述至少一个类中第一个类与所述第二变更记录信息中包含的一个或多个类依次进行比对,当比对一致时,则认为查找到所述第一个类对应的第一变更记录信息;否则,认为未查找到所述第一个类对应的第一变更记录信息;步骤B:重复执行步骤A,直至查找到或未查找到所述至少一个类中每个类对应的第一变更记录信息。7...

【专利技术属性】
技术研发人员:项和平
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

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

1