CN114721705A - 程序项目的版本管理方法与相关电子装置 - Google Patents
程序项目的版本管理方法与相关电子装置 Download PDFInfo
- Publication number
- CN114721705A CN114721705A CN202110014351.8A CN202110014351A CN114721705A CN 114721705 A CN114721705 A CN 114721705A CN 202110014351 A CN202110014351 A CN 202110014351A CN 114721705 A CN114721705 A CN 114721705A
- Authority
- CN
- China
- Prior art keywords
- manifest file
- program
- version
- program code
- code files
- 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
-
- 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
- G06F8/658—Incremental updates; Differential 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为根据本发明的其他的实施例的比较程序项目不同版本间差异的方法的流程图。
具体实施方式
参考图1。图1为依据本的发明一些实施例的电子装置10的示意图。电子装置10用以建立程序项目,例如使用在电视产品的程序项目。当程序项目要使用在两种不同规格的电视产品时,电子装置10(例如计算机)用以更新程序项目以产生程序项目的不同分支(branch),使不同规格的电视产品可以使用因应该规格而更新的程序项目。当程序项目经更新后,电子装置10用以记录更新的过程,其中可包含新增、移除和/或修改,并将其更新的过程记录为一个版本的清单文件(manifest file)。换言之,每当程序项目经更新之后,其将产生一个新的版本,而随着更新而产生的清单文件则记录着该版本的变化历史。
在一些实施例中,清单文件为可标记扩展语言(extensible markup language,XML)文件,然而本申请并不限于此。各种适合的文件格式均在本申请的考虑与范畴之内。
程序项目中包含多个程序代码文件,这些程序代码文件由清单文件中的多个标签(tag)分别记录着。在一些实施例中,标签用以记录程序代码文件的名称、位置及群组。在一些实施例中,当第一版本的程序项目经更新为第二版本后,电子装置10依据更新的过程将其记录为第二版本的清单文件。在更新的过程中,至少部分的程序代码文件被移除和/或修改,或有额外的程序代码文件被新增至程序项目中,清单文件中的标签可记录着被新增的程序代码文件、被修改的程序代码文件和/或被移除掉的程序代码文件。
因此,当用户想知道程序项目中的程序代码文件随版本变化的信息时,可借助于电子装置10读取清单文件,并对清单文件执行分析主程序以比较清单文件间的差异。当电子装置10执行分析主程序后,可产生比对结果并将之显示给用户观看。
随着程序项目版本的演进,一个程序项目可以拥有许多版本。而程序项目版本间的差异则是开发者在更新该程序项目前时所需要知道的信息。在现有技术中,当用户想要比较程序项目版本间的差异时,因为程序项目通常包含大量的程序代码文件,需要耗费大量时间对不同版本间的程序代码文件一一比对,容易出错,且时间成本太高。
相较于现有技术,本申请所提供的电子装置10具有较有效率的程序项目版本管理方法,可对不同版本间的程序项目做快速的比对,并将其比对结果整理显示给用户。用户可借助于这比对结果对程序项目做更新,以产生另一个新版本的程序项目。提高更新程序项目的效率,并降低比对的错误机率。
如图1所示,电子装置10包含处理器11、存储器模块12与显示器13。处理器11耦合到存储器模块12与显示器13。处理器11用以执行分析主程序,存储器模块12用以存储清单文件,以及显示器13用以显示比对结果。
请同时参考图2。图2为用户控制电子装置10执行比较程序项目不同版本间差异的方法20的流程图。在一些实施例中,用户可以利用电子装置10对两个版本的程序项目做比较,并依据各本版的清单文件将程序项目中的多个程序代码文件分类,并将分类的结果输出为比对结果。值得注意的是,电子装置10亦可用于比较多个版本的程序项目,以下说明仅以比较两个版本为例,但本申请并不限于此。
在步骤S21中,处理器11先从存储器模块12读取程序项目的第一版本的第一清单文件与第二版本的第二清单文件。接着,在步骤S22中,处理器11对读取的第一清单文件与第二清单文件执行分析主程序以产生比对结果,并将比对结果显示在显示器13上。
请同时参照图3。图3是步骤S22的细化流程图。如图3所示,处理器11执行分析主程序的步骤S22包含步骤S31、S32、S33及S34。在步骤S31中,处理器11先对第一清单文件与第二清单文件执行规范化(normalize)。因为程序项目包含大量的程序代码文件,处理器11先对清单文件中的内容做整理,例如排序,使得在之后的步骤中处理器11可以较容易的执行分析主程序。
在步骤S32中,处理器11依据第一清单文件与第二清单文件中的标签执行分析主程序中的比较程序。处理器11分别比较第一清单文件与第二清单文件中标签所记录的程序代码文件,并将程序代码文件分类为差异类别、移除类别及新增类别。
举例来说,程序项目在第一版本包含第一程序代码文件、第二程序代码文件及第三程序代码文件,而在第二版本包含第二程序代码文件、第三程序代码文件及第四程序代码文件。其中第一版本的第二程序代码文件与第二版本的第二程序代码文件相同(也即从第一版本到第二版本之间第二程序代码文件没有被修改),及第一版本的第三程序代码文件与第二版本的第三程序代码文件不同(也即从第一版本到第二版本之间第三程序代码文件曾被修改)。在此例中,处理器11可针对前述的程序代码文件做出以下分类:因为第二版本相较于第一版本已不包含第一程序代码文件,所以将第一程序代码文件分类为移除类别;第二程序代码文件维持不变,不属于前述三个类别;第二版本相较于第一版本的第三程序代码文件曾被修改,所以将第三程序代码文件分类为差异类别;及因为第二版本相较于第一版本多了额外的第四程序代码文件,所以将第四程序代码文件分类为新增类别。
换言之,当第一清单文件中这些标签记录的程序代码文件与第二清单文件中这些标签记录的程序代码文件不同时,被分类为差异类别。当第一清单文件中这些标签记录的程序代码文件不存在于第二清单文件中这些标签记录的程序代码文件时,被分类为移除类别。第二清单文件中这些标签记录的程序代码文件不存在于第一清单文件中这些标签记录的程序代码文件时,被分类为新增类别。
在步骤S33中,处理器11将分类的差异类别、移除类别及新增类别产生为比对结果,并将比对结果传输至显示器13以显示。在一些实施例中,处理器11将比对结果以表格形式的对象呈现,例如可以微软电子表格软件(Microsoft Excel)中的工作表呈现。
在一些实施例中,可由显示的比对结果上得到在程序项目中被分类为差异类别、移除类别及新增类别的程序代码文件各有哪些,从而可以得知造成第一版本与第二版本的执行结果不同可能的原因。
在步骤S34中,处理器11将比对结果存储在存储器模块12中。例如,将上述的工作表存储在存储器模块12中。
在一些其他的实施例中,方法20还包含图4所绘示的步骤S41、S42与S43。用户可以借助于方法20来检查程序项目中存在的错误(bug),并依据由步骤S22产生的比对结果对程序项目进行更新。例如,第二版本的程序项目是由第一版本的程序项目更新而得,但在执行第二版本的程序项目时,用户发现执行第二版本的程序项目会得到不同于执行第一版本的程序项目的预料外结果。因此,为了修正第二本版中可能存在的错误,使用者借助于方法20得到比对结果后,再执行步骤S41、S42与S43,以期可以将第二版本的程序项目中的错误修正。
如图4所示,在步骤S41中,使用者依据由步骤S22产生的比对结果更新程序项目以产生程序项目的第三版本。接着在步骤S42中,使用者借助于处理器11编译程序项目的第三版本。最后,在步骤S43中,用户依据更新后的程序项目并借助于处理器11产生第三版本的第三清单文件。换言之,在步骤S41~S43中,用户依据比对结果对程序项目的程序代码文件进行更新(例如上述修改、新增和/或移除),并借助于处理器11将更新的过程记录在第三清单文件中。
在一些实施例中,在得知比对结果后,使用者可通过被分类为差异、移除和/或新增的程序代码文件进行更新,以期找出造成第一版本与第二版本执行结果不同的原因。当程序项目被更新后,处理器11对更新后的程序项目进行编译。在更进一步的实施例中,处理器11执行编译好的程序项目以检查执行结果是否符合预期。
此外,当程序项目被更新后,代表新的一个版本(即上述的第三版本)的程序项目产生。因此,为了控制程序项目的版本变化,处理器11依据更新后的程序项目产生第三清单文件,并将第三清单文件存储至存储器模块12。
【符号说明】
10:电子装置
11:处理器
12:存储器模块
13:显示器
20:方法
S21:步骤
S22:步骤
S31:步骤
S32:步骤
S33:步骤
S34:步骤
S41:步骤
S42:步骤
S43:步骤
Claims (10)
1.一种版本管理方法,用来比较不同版本之间的程序项目中复数个程序代码文件,包含:
读取所述程序项目的第一版本中的第一清单文件与第二版本的第二清单文件;及
对所述第一清单文件与所述第二清单文件执行分析主程序以产生比对结果,并将所述比对结果显示于显示器上。
2.根据权利要求1所述的版本管理方法,其中所述第一清单文件与所述第二清单文件为可标记扩展语言文件。
3.根据权利要求1所述的版本管理方法,其中所述第一清单文件与所述第二清单文件各包含复数个标签分别用以记录所述复数个程序代码文件,
其中对所述第一版本中的所述第一清单文件与所述第二版本中的所述第二清单文件执行所述分析主程序以产生所述比对结果包含:对所述第一清单文件与所述第二清单文件执行规范化。
4.根据权利要求3所述的版本管理方法,其中所述复数个标签用以记录所述复数个程序代码文件的名称、位置及群组。
5.根据权利要求1所述的版本管理方法,其中所述第一清单文件与所述第二清单文件各包含复数个标签分别用以记录所述复数个程序代码文件,
其中对所述第一版本中的所述第一清单文件与所述第二版本中的所述第二清单文件执行所述分析主程序以产生所述比对结果包含:依据所述复数个标签执行所述分析主程序中的比较程序,以比较所述第一清单文件中所述复数个标签记录的所述复数个程序代码文件与所述第二清单文件中所述复数个标签记录的所述复数个程序代码文件,并将所述复数个程序代码文件分类为差异类别、移除类别及新增类别以产生所述比对结果。
6.根据权利要求5所述的版本管理方法,其中:
当所述第一清单文件中所述复数个标签记录的所述复数个程序代码文件与所述第二清单文件中所述复数个标签记录的所述复数个程序代码文件不同时被分类为所述差异类别,
当所述第一清单文件中所述复数个标签记录的所述复数个程序代码文件不存在于所述第二清单文件中所述复数个标签记录的所述复数个程序代码文件时被分类为所述移除类别,及
所述第二清单文件中所述复数个标签记录的所述复数个程序代码文件不存在于所述第一清单文件中所述复数个标签记录的所述复数个程序代码文件时被分类为所述新增类别。
7.根据权利要求5所述的版本管理方法,其中对所述第一版本中的所述第一清单文件与所述第二版本中的所述第二清单文件执行所述分析主程序以产生所述比对结果还包含:
执行所述分析主程序中的输出程序以将所述复数个程序代码文件被分类的所述比对结果显示于所述显示器上。
8.根据权利要求5所述的版本管理方法,其中对所述第一版本中的所述第一清单文件与所述第二版本中的所述第二清单文件执行所述分析主程序以产生所述比对结果还包含:
执行所述分析主程序中的存储程序以存储所述复数个程序代码文件被分类的所述比对结果。
9.根据权利要求1所述的版本管理方法,还包含:
依据所述比对结果,更新所述程序项目;
编译更新后的所述程序项目;及
依据更新后的所述程序项目产生第三版本的第三清单文件。
10.一种电子装置,用来比较不同版本之间的程序项目中复数个程序代码文件,包含:
存储器模块,用以存储所述程序项目的复数个版本的清单文件;
处理器,用以读取第一版本的第一清单文件与第二版本的二清单文件,并对所述第一清单文件与所述第二清单文件执行分析主程序以产生比对结果;及
显示器,用以显示所述比对结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110014351.8A CN114721705A (zh) | 2021-01-06 | 2021-01-06 | 程序项目的版本管理方法与相关电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110014351.8A CN114721705A (zh) | 2021-01-06 | 2021-01-06 | 程序项目的版本管理方法与相关电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114721705A true CN114721705A (zh) | 2022-07-08 |
Family
ID=82234717
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110014351.8A Pending CN114721705A (zh) | 2021-01-06 | 2021-01-06 | 程序项目的版本管理方法与相关电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114721705A (zh) |
-
2021
- 2021-01-06 CN CN202110014351.8A patent/CN114721705A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8056057B2 (en) | System and method for generating business process test elements | |
US20060184918A1 (en) | Test manager | |
US20060218160A1 (en) | Change control management of XML documents | |
US11080305B2 (en) | Relational log entry instituting system | |
US8224762B2 (en) | Information processing method and apparatus for business process analysis | |
US20040088650A1 (en) | Methods and apparatus for generating a spreadsheet report template | |
US7634766B2 (en) | Method and apparatus for pattern-based system design analysis using a meta model | |
US8898635B2 (en) | System and method for automatic impact variable analysis and field expansion in mainframe systems | |
US6389481B1 (en) | Automatic program documentation | |
US20090024997A1 (en) | Batch processing apparatus | |
CN102939612A (zh) | 在保护用户自定义的情况下合并对用户界面组件的修改 | |
US7096421B2 (en) | System and method for comparing hashed XML files | |
US20090307654A1 (en) | System, method and computer program for generating sequence diagram | |
US8407235B2 (en) | Exposing and using metadata and meta-metadata | |
US20040205509A1 (en) | System and method for comparing parsed XML files | |
US20220206788A1 (en) | Version control method for program project and associated electric device | |
US20090217243A1 (en) | Automatic software configuring system | |
US11347619B2 (en) | Log record analysis based on log record templates | |
US7203671B1 (en) | System and method for validating the technical correctness of an OLAP reporting project | |
WO2005026993A1 (en) | A system and method for managing item interchange and identification in an extended enterprise | |
US20070282864A1 (en) | Dynamic opitimized datastore generation and modification for process models | |
US7093195B2 (en) | Standards-based formatting of flat files into markup language representations | |
US20040093336A1 (en) | Computer program method and apparatus to recognize and normalize data pattern based information | |
CN114721705A (zh) | 程序项目的版本管理方法与相关电子装置 | |
US20190179857A1 (en) | Decision program, decision apparatus and decision method |
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 |