CN110688140A - 一种代码管理方法和终端 - Google Patents
一种代码管理方法和终端 Download PDFInfo
- Publication number
- CN110688140A CN110688140A CN201910964097.0A CN201910964097A CN110688140A CN 110688140 A CN110688140 A CN 110688140A CN 201910964097 A CN201910964097 A CN 201910964097A CN 110688140 A CN110688140 A CN 110688140A
- Authority
- CN
- China
- Prior art keywords
- code
- target
- development
- baseline
- terminal
- 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
- 238000007726 management method Methods 0.000 title claims abstract description 28
- 238000011161 development Methods 0.000 claims abstract description 228
- 238000012545 processing Methods 0.000 claims abstract description 26
- 238000000034 method Methods 0.000 claims description 24
- 230000008569 process Effects 0.000 claims description 10
- 238000005516 engineering process Methods 0.000 claims description 6
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000002790 cross-validation Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000033764 rhythmic process Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012795 verification Methods 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/30—Creation or generation of source code
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种代码管理方法和终端,用于提高处理代码的效率。该代码管理方法包括:终端通过预存的引导文件从服务器下载开发代码;终端确定目标开发分支和开发分支代码;终端从服务器下载基线分支代码,基线分支代码为目标开发分支的源码分支;终端将开发分支代码和基线分支代码进行合并,得到目标开发代码;终端根据目标开发代码更新引导文件,得到目标引导文件,目标引导文件指向目标开发代码;终端向服务器提交目标开发代码,以更新目标开发分支的代码。这样,终端通过预存的引导文件从服务器下载开发代码,以及将开发分支代码和基线分支代码进行合并,得到目标开发代码,可实现代码的更新,从而提高了处理代码的效率。
Description
技术领域
本发明涉及信息处理技术领域,尤其涉及一种代码管理方法和终端。
背景技术
现有的代码升级方式,主要依赖手动完成。
在代码升级时,用户每次都需要手动下载代码、处理新增删减库等,此时,用户的工作量大、耗费时间长,并且需要长时间持续占用代码存储服务器。这导致开发节奏变缓、处理代码的效率较低。
发明内容
本发明的目的在于提供一种代码管理方法和终端,用于提高处理代码的效率。
为达此目的,本发明实施例采用以下技术方案:
一种代码管理方法,包括:
终端通过预存的引导文件从服务器下载开发代码;
所述终端确定目标开发分支和开发分支代码,所述目标开发分支为所述服务器上的待更新的开发分支,所述开发分支代码为所述开发代码中属于所述目标开发分支的代码;
所述终端从所述服务器下载基线分支代码,所述基线分支代码为所述目标开发分支的源码分支;
所述终端将所述开发分支代码和所述基线分支代码进行合并,得到目标开发代码;
所述终端根据所述目标开发代码更新所述引导文件,得到目标引导文件,所述目标引导文件指向所述目标开发代码;
所述终端向所述服务器提交所述目标开发代码,以更新所述目标开发分支的代码。
可选地,所述终端根据所述目标开发代码更新所述引导文件,得到目标引导文件之前,所述方法还包括:
判断所述目标开发代码是否编译通过;
若所述目标开发代码编译通过,则所述终端执行所述根据所述目标开发代码更新所述引导文件,得到目标引导文件的步骤。
可选地,所述方法还包括:
所述终端从所述服务器下载AP部分基线代码;
所述终端更新所述AP部分基线代码,得到目标AP部分基线代码;
所述终端将所述目标AP部分基线代码推送到存储仓;
所述终端生成AP部分引导文件,所述AP部分引导文件指向所述目标AP部分基线代码;
所述终端从所述服务器下载BP部分基线代码;
所述终端处理所述BP部分基线代码,得到目标BP部分基线代码;
所述终端将所述目标BP部分基线代码推送到存储仓;
所述终端生成BP部分引导文件,所述BP部分引导文件指向所述目标BP部分基线代码;
所述终端根据所述AP部分引导文件和所述BP部分引导文件,生成基线引导文件。
可选地,所述终端处理所述BP部分基线代码,得到目标BP部分基线代码,包括:
所述终端对所述BP部分基线代码进行初始化或迭代,得到目标BP部分基线代码。
可选地,所述方法还包括:
当所述终端从所述服务器下载所述开发代码的过程中发生下载失败时,所述终端检测下载状态且重新从所述服务器下载所述开发代码。
可选地,所述终端应用任务调度服务器Jenkins开源Pipeline技术执行所述代码管理方法。
为达此目的,本发明实施例还采用以下技术方案:
一种终端,包括:
下载单元,用于通过预存的引导文件从服务器下载开发代码;
确定单元,用于确定目标开发分支和开发分支代码,所述目标开发分支为所述服务器上的待更新的开发分支,所述开发分支代码为所述开发代码中属于所述目标开发分支的代码;
所述下载单元,还用于从所述服务器下载基线分支代码,所述基线分支代码为所述目标开发分支的源码分支;
合并单元,用于将所述开发分支代码和所述基线分支代码进行合并,得到目标开发代码;
更新单元,用于根据所述目标开发代码更新所述引导文件,得到目标引导文件,所述目标引导文件指向所述目标开发代码;
提交单元,用于向所述服务器提交所述目标开发代码,以更新所述目标开发分支的代码。
可选地,所述终端还包括判断单元;
所述判断单元,用于判断所述目标开发代码是否编译通过;
若所述目标开发代码编译通过,则所述更新单元执行所述根据所述目标开发代码更新所述引导文件,得到目标引导文件的步骤。
可选地,所述终端还包括推送单元、生成单元、和处理单元;
所述下载单元,还用于从所述服务器下载AP部分基线代码;
所述处理单元,用于更新所述AP部分基线代码,得到目标AP部分基线代码;
所述推送单元,用于将所述目标AP部分基线代码推送到存储仓;
所述生成单元,用于生成AP部分引导文件,所述AP部分引导文件指向所述目标AP部分基线代码;
所述下载单元,还用于从所述服务器下载BP部分基线代码;
所述处理单元,还用于处理所述BP部分基线代码,得到目标BP部分基线代码;
所述推送单元,还用于将所述目标BP部分基线代码推送到存储仓;
所述生成单元,还用于生成BP部分引导文件,所述BP部分引导文件指向所述目标BP部分基线代码;
所述生成单元,还用于根据所述AP部分引导文件和所述BP部分引导文件,生成基线引导文件。
可选地,所述处理单元,还用于对所述BP部分基线代码进行初始化或迭代,得到目标BP部分基线代码。
本发明的有益效果:
在本发明实施例的代码管理方法中,终端通过预存的引导文件从服务器下载开发代码,然后,终端确定目标开发分支和开发分支代码,目标开发分支为服务器上的待更新的开发分支,开发分支代码为开发代码中属于目标开发分支的代码。终端从服务器下载基线分支代码,基线分支代码为目标开发分支的源码分支。终端将开发分支代码和基线分支代码进行合并,得到目标开发代码。跟着,终端根据目标开发代码更新引导文件,得到目标引导文件,目标引导文件指向目标开发代码。从而,终端向服务器提交目标开发代码,以更新目标开发分支的代码。这样,终端通过预存的引导文件从服务器下载开发代码,从开发代码中确定开发分支代码后,将开发分支代码和基线分支代码进行合并,得到目标开发代码,向服务器提交目标开发代码,即可实现代码的更新,从而提高了处理代码的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的一种代码管理方法的流程图;
图2为本发明实施例提供的一种代码管理方法的流程图;
图3为本发明实施例提供的一种终端的结构示意图。
具体实施方式
本发明实施例提供了一种代码管理方法和终端,用于提高处理代码的效率。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
图1为本发明实施例提供的一种代码管理方法的流程图,该代码管理方法可应用于终端上。
参考图1,本发明实施例的代码管理方法,包括:
步骤101:终端通过预存的引导文件从服务器下载开发代码。
在终端上预存有引导文件,引导文件指向某些开发代码。终端通过引导文件,可从服务器下载开发代码到本地。
在本发明实施例中,引导文件是一个清单库,它可以包含多个清单文件和多个分支,每个清单文件和分支都有对应的版本。清单文件以可扩展标记语言(XML)格式组织。引导文件可包含remote、default、project、copyfile等元素。此引导文件专用于配合repo工具使用,用于指向对应的分支代码库,可用于描述当前repo管理分支的所有信息。
步骤102:终端确定目标开发分支和开发分支代码。
其中,目标开发分支为服务器上的待更新的开发分支,开发分支代码为开发代码中属于目标开发分支的代码。下载到本地的开发代码,需要指向远端的服务器的特定的开发分支。
在服务器上,通过一个一个代码仓库来管理代码。每一个代码仓库又绑定了很多的开发分支。终端通过预存的引导文件从服务器下载开发代码到本地,只是把代码仓下载到本地,并不能确定这些代码是对应于哪个开发分支。为此,终端确定目标开发分支和开发分支代码,通过指令把开发分支代码指向服务器上绑定的一个目标开发分支。具体可以通过切换分支指令完成。
步骤103:终端从服务器下载基线分支代码。
基线分支代码为目标开发分支的源码分支。
终端将服务器上的基线分支代码下载到本地,以进行处理。
其中,开发代码是以基线分支代码为基础,引申出来的另一套开发代码,在开始阶段,基线分支代码和开发代码同步。在开发过程中,开发人员基于开发代码进行二次开发,这增大了基线分支代码和开发代码的差异。
步骤104:终端将开发分支代码和基线分支代码进行合并,得到目标开发代码。
终端获取了开发代码和基线分支代码,可将开发代码和基线分支代码进行合并,以得到目标开发代码。
在有的实施例中,因为开发代码和基线分支代码之间有很多差异,在合并过程中需要人为判定冲突解决方案,以解决开发代码和基线分支代码之间的差异。
步骤105:终端根据目标开发代码更新引导文件,得到目标引导文件。
其中,目标引导文件指向目标开发代码。
终端根据目标开发代码更新引导文件,对原开发代码的引导文件进行更新升级,可确保引导文件指向最新的代码节点。
可选地,终端根据目标开发代码更新引导文件,得到目标引导文件之前,本发明实施例的方法还包括:判断目标开发代码是否编译通过。若目标开发代码编译通过,则终端执行步骤105。
终端将开发代码和基线分支代码进行合并,可得到目标开发代码,需要编译验证合并后的目标开发代码的质量是否可以通过。
步骤106:终端向服务器提交目标开发代码。
终端生成目标开发代码后,终端向服务器提交目标开发代码,以更新目标开发分支的代码。从而供其他开发人员同步使用。
上述步骤涉及到开发代码的迭代升级,本发明实施例的代码管理方法还涉及平台Baseline(基线)的基线分支代码的迭代升级。
如图2所示,图2为本发明实施例提供的一种代码管理方法的流程图。参阅图2,本发明实施例的代码管理方法还包括:
步骤201:终端从服务器下载AP部分基线代码。
为了实现对基线分支代码进行迭代升级,终端从服务器下载应用处理器(Application Processor,AP)部分基线代码。
步骤202:终端更新AP部分基线代码,得到目标AP部分基线代码。
终端获取了AP部分基线代码,对其进行更新操作,以得到目标AP部分基线代码。
步骤203:终端将目标AP部分基线代码推送到存储仓。
获取AP部分基线代码后,终端将AP部分基线代码推送到存储仓,以进行存储。
存储仓为用于存储代码的仓库,存储仓可设置在专用服务器上。
步骤204:终端生成AP部分引导文件。
AP部分引导文件指向目标AP部分基线代码。
为了对AP部分基线代码进行记录,终端生成AP部分引导文件,该AP部分引导文件指向AP部分基线代码。
步骤205:终端从服务器下载BP部分基线代码。
为了实现对基线分支代码进行迭代升级,终端从服务器下载基带处理器(Baseband Processor,BP)部分基线代码。
其中,终端含有两个处理器。
1)操作系统、用户界面和应用程序都在应用处理器上执行。
2)射频通讯(硬件)控制软件,则运行在另一个分开的处理器上,这个处理器称为基带处理器。
所以代码会分为AP和BP两部分。
步骤206:终端处理BP部分基线代码,得到目标BP部分基线代码。
终端可对BP部分基线代码进行处理,以更新BP部分基线代码,得到目标BP部分基线代码。
具体来说,步骤205具体包括:终端对BP部分基线代码进行初始化或迭代,得到目标BP部分基线代码。
例如,使用create(新建)方式升级BP部分基线代码,首先升级proprietary(proprietary为厂商专有的部分代码),以及升级non-hlos(non-hlos为包含处理通讯协议相关的基带的代码部分)。然后,进行代码初始化。或者,使用update(更新)方式升级BP部分基线代码,具体为,升级proprietary,进行proprietary代码迭代;以及升级non-hlos,进行non-hlos代码迭代。通过这两种方式,可实现对BP部分基线代码的处理。
步骤207:终端将目标BP部分基线代码推送到存储仓。
获取到目标BP部分基线代码后,终端可以将目标BP部分基线代码推送到存储仓,以进行保存。
可选地,在步骤207之前,终端可以添加描述信息到目标BP部分基线代码。换言之,对每次修改,需要添加描述信息,该描述信息包含:修改内容、修改日期、解决了什么问题、是否有风险引入、和是否需要交叉验证等。通常可通过git工具添加描述信息。
可选地,在本发明的一些实施例中,如有新增存储仓,可对此生成列表,以进行记录,并将列表电邮给相关人员进行创建存储仓。
步骤208:终端生成BP部分引导文件。
BP部分引导文件指向目标BP部分基线代码。
为了对目标BP部分基线代码进行记录,终端还可以生成BP部分引导文件,该BP部分引导文件指向目标BP部分基线代码。
应该理解,AP部分引导文件和BP部分引导文件的生成方式类似,具体为通过一系列的升级、迭代、编译验证及提交后,确认相关代码没有异常,然后,把当前代码的所有信息提取出来,并写入到对应的XML文件中,用于标记这个节点。该XML文件即为引导文件,AP部分引导文件和BP部分引导文件属于引导文件的类型。
步骤209:终端根据AP部分引导文件和BP部分引导文件,生成基线引导文件。
获取到AP部分引导文件和BP部分引导文件后,终端根据AP部分引导文件和BP部分引导文件,生成基线引导文件。
应该理解,在本发明实施例中,可将代码管理方法的整个流程拆分为两个阶段:即开发代码迭代升级阶段和平台Baseline(基线)的基线分支代码的迭代升级阶段。
可选地,终端应用任务调度服务器(Jenkins)开源Pipeline(输送管线)技术执行代码管理方法。具体来说,采用Jenkins开源Pipeline技术,让上述的两个阶段中的每个阶段单独运行,以解除耦合绑定,根据每个阶段运行结果判定是否做下一个阶段的运行。
可选地,本发明实施例的代码管理方法还包括:当终端从服务器下载开发代码的过程中发生下载失败时,终端检测下载状态且重新从服务器下载开发代码。
具体来说,在本发明实施例的方法中,增加代码下载检测功能,如下载代码中途发生意外中断或者失败而没人看管,终端会自动检测代码下载状态以及时重新下载代码,这可以极大地缩短升级时间。
应该理解,在有的实施例中,可增加检查文件每一行的详细修改信息的功能,从而可以快速定位冲突文件责任人,提高研发工作效率。
应该理解,在有的实施例中,可自动对比XML格式的引导文件,检测代码仓库增减变化,及时发现代码变化。
应该理解,在有的实施例中,可增加数据(包括研发工作数据、服务器使用数据、效率提升数据)统计功能,便于后续数据呈现。
这样,本发明实施例的代码管理方法,可实现代码高质量合入,杜绝了项目手动操作出错的情况;且比当前主流的升级方案,效率有提升;并且,保留了平台基线的修改记录,便于复盘;以及通过多维度的数据记录,能反馈后续优化点,使整个系统能不断进化。
综上所述,在本发明实施例的代码管理方法中,终端通过预存的引导文件从服务器下载开发代码,然后,终端确定目标开发分支和开发分支代码,目标开发分支为服务器上的待更新的开发分支,开发分支代码为开发代码中属于目标开发分支的代码。终端从服务器下载基线分支代码,基线分支代码为目标开发分支的源码分支。终端将开发分支代码和基线分支代码进行合并,得到目标开发代码。跟着,终端根据目标开发代码更新引导文件,得到目标引导文件,目标引导文件指向目标开发代码。从而,终端向服务器提交目标开发代码,以更新目标开发分支的代码。这样,终端通过预存的引导文件从服务器下载开发代码,从开发代码中确定开发分支代码后,将开发分支代码和基线分支代码进行合并,得到目标开发代码,向服务器提交目标开发代码,即可实现代码的更新,从而提高了处理代码的效率。
图3为本发明实施例提供的一种终端的结构示意图,该终端可用于执行上述图1和图2所示的代码管理方法。
如图3所示,本发明实施例的终端,包括:
下载单元301,用于通过预存的引导文件从服务器下载开发代码;
确定单元302,用于确定目标开发分支和开发分支代码,目标开发分支为服务器上的待更新的开发分支,开发分支代码为开发代码中属于目标开发分支的代码;
下载单元301,还用于从服务器下载基线分支代码,基线分支代码为目标开发分支的源码分支。
合并单元303,用于将开发分支代码和基线分支代码进行合并,得到目标开发代码;
更新单元304,用于根据目标开发代码更新引导文件,得到目标引导文件,目标引导文件指向目标开发代码;
提交单元305,用于向服务器提交目标开发代码,以更新目标开发分支的代码。
可选地,本发明实施例的终端还包括判断单元306;
判断单元306,用于判断目标开发代码是否编译通过;
若目标开发代码编译通过,则更新单元304执行根据目标开发代码更新引导文件,得到目标引导文件的步骤。
可选地,本发明实施例的终端还包括推送单元307、生成单元308、和处理单元309;
下载单元301,还用于从服务器下载AP部分基线代码;
处理单元309,用于更新AP部分基线代码,得到目标AP部分基线代码;
推送单元307,用于将目标AP部分基线代码推送到存储仓;
生成单元308,用于生成AP部分引导文件,AP部分引导文件指向目标AP部分基线代码;
下载单元301,还用于从服务器下载BP部分基线代码;
处理单元309,还用于处理BP部分基线代码,得到目标BP部分基线代码;
推送单元307,还用于将目标BP部分基线代码推送到存储仓;
生成单元308,还用于生成BP部分引导文件,BP部分引导文件指向目标BP部分基线代码;
生成单元308,还用于根据AP部分引导文件和BP部分引导文件,生成基线引导文件。
可选地,处理单元309,还用于对BP部分基线代码进行初始化或迭代,得到目标BP部分基线代码。
可选地,下载单元301,还用于当终端从服务器下载开发代码的过程中发生下载失败时,检测下载状态且重新从服务器下载开发代码。
可选地,本发明实施例的终端应用任务调度服务器Jenkins开源Pipeline技术执行代码管理方法。
综上所述,在本发明实施例的终端中,下载单元301通过预存的引导文件从服务器下载开发代码,然后,确定单元302确定目标开发分支和开发分支代码,目标开发分支为服务器上的待更新的开发分支,开发分支代码为开发代码中属于目标开发分支的代码。下载单元301从服务器下载基线分支代码,基线分支代码为目标开发分支的源码分支后,合并单元303将开发分支代码和基线分支代码进行合并,得到目标开发代码。更新单元304根据目标开发代码更新引导文件,得到目标引导文件,目标引导文件指向目标开发代码。从而,提交单元305向服务器提交目标开发代码,以更新目标开发分支的代码。这样,终端通过预存的引导文件从服务器下载开发代码,从开发代码中确定开发分支代码后,将开发分支代码和基线分支代码进行合并,得到目标开发代码,向服务器提交目标开发代码,即可实现代码的更新,从而提高了处理代码的效率。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种代码管理方法,其特征在于,包括:
终端通过预存的引导文件从服务器下载开发代码;
所述终端确定目标开发分支和开发分支代码,所述目标开发分支为所述服务器上的待更新的开发分支,所述开发分支代码为所述开发代码中属于所述目标开发分支的代码;
所述终端从所述服务器下载基线分支代码,所述基线分支代码为所述目标开发分支的源码分支;
所述终端将所述开发分支代码和所述基线分支代码进行合并,得到目标开发代码;
所述终端根据所述目标开发代码更新所述引导文件,得到目标引导文件,所述目标引导文件指向所述目标开发代码;
所述终端向所述服务器提交所述目标开发代码,以更新所述目标开发分支的代码。
2.根据权利要求1所述的方法,其特征在于,
所述终端根据所述目标开发代码更新所述引导文件,得到目标引导文件之前,所述方法还包括:
判断所述目标开发代码是否编译通过;
若所述目标开发代码编译通过,则所述终端执行所述根据所述目标开发代码更新所述引导文件,得到目标引导文件的步骤。
3.根据权利要求1所述的方法,其特征在于,
所述方法还包括:
所述终端从所述服务器下载应用处理器AP部分基线代码;
所述终端更新所述AP部分基线代码,得到目标AP部分基线代码;
所述终端将所述目标AP部分基线代码推送到存储仓;
所述终端生成AP部分引导文件,所述AP部分引导文件指向所述目标AP部分基线代码;
所述终端从所述服务器下载基带处理器BP部分基线代码;
所述终端处理所述BP部分基线代码,得到目标BP部分基线代码;
所述终端将所述目标BP部分基线代码推送到存储仓;
所述终端生成BP部分引导文件,所述BP部分引导文件指向所述目标BP部分基线代码;
所述终端根据所述AP部分引导文件和所述BP部分引导文件,生成基线引导文件。
4.根据权利要求3所述的方法,其特征在于,
所述终端处理所述BP部分基线代码,得到目标BP部分基线代码,包括:
所述终端对所述BP部分基线代码进行初始化或迭代,得到目标BP部分基线代码。
5.根据权利要求1所述的方法,其特征在于,
所述方法还包括:
当所述终端从所述服务器下载所述开发代码的过程中发生下载失败时,所述终端检测下载状态且重新从所述服务器下载所述开发代码。
6.根据权利要求1所述的方法,其特征在于,
所述终端应用任务调度服务器Jenkins开源Pipeline技术执行所述代码管理方法。
7.一种终端,其特征在于,包括:
下载单元,用于通过预存的引导文件从服务器下载开发代码;
确定单元,用于确定目标开发分支和开发分支代码,所述目标开发分支为所述服务器上的待更新的开发分支,所述开发分支代码为所述开发代码中属于所述目标开发分支的代码;
所述下载单元,还用于从所述服务器下载基线分支代码,所述基线分支代码为所述目标开发分支的源码分支;
合并单元,用于将所述开发分支代码和所述基线分支代码进行合并,得到目标开发代码;
更新单元,用于根据所述目标开发代码更新所述引导文件,得到目标引导文件,所述目标引导文件指向所述目标开发代码;
提交单元,用于向所述服务器提交所述目标开发代码,以更新所述目标开发分支的代码。
8.根据权利要求7所述的终端,其特征在于,
所述终端还包括判断单元;
所述判断单元,用于判断所述目标开发代码是否编译通过;
若所述目标开发代码编译通过,则所述更新单元执行所述根据所述目标开发代码更新所述引导文件,得到目标引导文件的步骤。
9.根据权利要求7所述的终端,其特征在于,
所述终端还包括推送单元、生成单元、和处理单元;
所述下载单元,还用于从所述服务器下载AP部分基线代码;
所述处理单元,用于更新所述AP部分基线代码,得到目标AP部分基线代码;
所述推送单元,用于将所述目标AP部分基线代码推送到存储仓;
所述生成单元,用于生成AP部分引导文件,所述AP部分引导文件指向所述目标AP部分基线代码;
所述下载单元,还用于从所述服务器下载BP部分基线代码;
所述处理单元,还用于处理所述BP部分基线代码,得到目标BP部分基线代码;
所述推送单元,还用于将所述目标BP部分基线代码推送到存储仓;
所述生成单元,还用于生成BP部分引导文件,所述BP部分引导文件指向所述目标BP部分基线代码;
所述生成单元,还用于根据所述AP部分引导文件和所述BP部分引导文件,生成基线引导文件。
10.根据权利要求9所述的终端,其特征在于,
所述处理单元,还用于对所述BP部分基线代码进行初始化或迭代,得到目标BP部分基线代码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910964097.0A CN110688140B (zh) | 2019-10-11 | 2019-10-11 | 一种代码管理方法和终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910964097.0A CN110688140B (zh) | 2019-10-11 | 2019-10-11 | 一种代码管理方法和终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110688140A true CN110688140A (zh) | 2020-01-14 |
CN110688140B CN110688140B (zh) | 2023-11-21 |
Family
ID=69112085
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910964097.0A Active CN110688140B (zh) | 2019-10-11 | 2019-10-11 | 一种代码管理方法和终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110688140B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111984307A (zh) * | 2020-08-24 | 2020-11-24 | 北京思特奇信息技术股份有限公司 | 一个自动修复基线版本的处理方法及装置 |
CN113806595A (zh) * | 2021-08-13 | 2021-12-17 | 荣耀终端有限公司 | 一种代码搜索系统生成方法、代码搜索方法和搜索服务器 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103250133A (zh) * | 2010-12-24 | 2013-08-14 | 汉阳大学校产学协力团 | 软件定义无线终端设备以及用于发布和安装无线应用的方法 |
CN105302554A (zh) * | 2015-10-23 | 2016-02-03 | 深圳市创维电器科技有限公司 | 一种Android系统自动化程序构建方法及系统 |
US20160357658A1 (en) * | 2015-06-05 | 2016-12-08 | Intel Corporation | Implementation Of Processor Trace In A Processor That Supports Binary Translation |
CN108197036A (zh) * | 2018-02-06 | 2018-06-22 | 百度在线网络技术(北京)有限公司 | 用于确定增量代码的覆盖率信息的方法和装置 |
CN108563444A (zh) * | 2018-03-22 | 2018-09-21 | 福州瑞芯微电子股份有限公司 | 一种安卓系统固件源代码还原方法及存储介质 |
CN110069455A (zh) * | 2017-09-21 | 2019-07-30 | 北京华为数字技术有限公司 | 一种文件合并方法及装置 |
-
2019
- 2019-10-11 CN CN201910964097.0A patent/CN110688140B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103250133A (zh) * | 2010-12-24 | 2013-08-14 | 汉阳大学校产学协力团 | 软件定义无线终端设备以及用于发布和安装无线应用的方法 |
US20160357658A1 (en) * | 2015-06-05 | 2016-12-08 | Intel Corporation | Implementation Of Processor Trace In A Processor That Supports Binary Translation |
CN105302554A (zh) * | 2015-10-23 | 2016-02-03 | 深圳市创维电器科技有限公司 | 一种Android系统自动化程序构建方法及系统 |
CN110069455A (zh) * | 2017-09-21 | 2019-07-30 | 北京华为数字技术有限公司 | 一种文件合并方法及装置 |
CN108197036A (zh) * | 2018-02-06 | 2018-06-22 | 百度在线网络技术(北京)有限公司 | 用于确定增量代码的覆盖率信息的方法和装置 |
CN108563444A (zh) * | 2018-03-22 | 2018-09-21 | 福州瑞芯微电子股份有限公司 | 一种安卓系统固件源代码还原方法及存储介质 |
Non-Patent Citations (2)
Title |
---|
RAMIREZ A ET AL: "《The Effect of Code Reordering on Branch Prediction》", 《IEEE》 * |
徐广欣: "《P2p软件开发项目的配置管理》", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111984307A (zh) * | 2020-08-24 | 2020-11-24 | 北京思特奇信息技术股份有限公司 | 一个自动修复基线版本的处理方法及装置 |
CN113806595A (zh) * | 2021-08-13 | 2021-12-17 | 荣耀终端有限公司 | 一种代码搜索系统生成方法、代码搜索方法和搜索服务器 |
CN113806595B (zh) * | 2021-08-13 | 2022-08-12 | 荣耀终端有限公司 | 一种代码搜索系统生成方法、代码搜索方法和搜索服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN110688140B (zh) | 2023-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7310801B2 (en) | Servicing a component-based software product throughout the software product lifecycle | |
US10019256B2 (en) | Systems and methods for incremental software development | |
US10114637B1 (en) | Automatically updating a shared project build platform | |
US10579966B1 (en) | Adapting a shared project build platform to a developer plugin | |
US7971201B2 (en) | Multiple operating device version software generating system and multiple operating device version software generation support program and method | |
US9262154B2 (en) | Enhanced upgrade path | |
WO2017185606A1 (zh) | 基于overlay机制的APK开发方法及系统 | |
WO2015176492A1 (en) | A system and method thereof for creating dynamically attachable and detachable binary files | |
US8214810B2 (en) | Method of compiling source code, compiler, computer system, and computer program product | |
CN106293756A (zh) | 一种用于快速更换的自定义Linux内核系统 | |
US10896109B2 (en) | Non-monotonic eventual convergence for desired state configuration | |
CN110688140B (zh) | 一种代码管理方法和终端 | |
CN113342387A (zh) | 一种软件自动升级方法、更新客户端及更新服务器 | |
CN111722868A (zh) | 一种申威防火墙快速移植高版本linux内核的方法 | |
CN112000334A (zh) | 页面开发方法、装置、服务器及存储介质 | |
CN111625294A (zh) | 一种服务器项目执行方法、装置及其相关设备 | |
CN108874405B (zh) | 一种OpenStack环境升级方法 | |
TWI807824B (zh) | 具有自動升級功能的開發系統以及開發系統的自動升級方法 | |
CN113849181A (zh) | 交叉编译工具链构建方法、装置、电子设备及存储介质 | |
CN113157329A (zh) | 启动应用的方法、系统、服务器和存储介质 | |
US20150205697A1 (en) | Software development apparatus and method | |
CN112783529B (zh) | 一种控制应用程序预发布与升级的方法、装置和电子设备 | |
CN116991355B (zh) | 修改和迭代脚本支持led驱动芯片的方法、系统及装置 | |
CN112667283B (zh) | 框架数据的引用方法、装置及计算机可读存储介质 | |
CN115437762A (zh) | 基于安卓的Fluter容器及小程序的创建方法 |
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 |