CN113157312A - 应用中查看对应源码所对应的svn版本号的方法 - Google Patents
应用中查看对应源码所对应的svn版本号的方法 Download PDFInfo
- Publication number
- CN113157312A CN113157312A CN202110405012.2A CN202110405012A CN113157312A CN 113157312 A CN113157312 A CN 113157312A CN 202110405012 A CN202110405012 A CN 202110405012A CN 113157312 A CN113157312 A CN 113157312A
- Authority
- CN
- China
- Prior art keywords
- version
- svn
- version number
- source code
- application
- 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
- 238000000034 method Methods 0.000 title claims abstract description 22
- 230000008569 process Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 description 6
- 238000012423 maintenance Methods 0.000 description 4
- 230000007547 defect Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification 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/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Stored Programmes (AREA)
Abstract
本发明目的是提供了一种应用中查看对应源码所对应的SVN版本号的方法,准确方便地知道与生成应用对应源码的SVN版本号,便于对该版本应用进行维护。一种应用中查看对应源码所对应的版本号的方法,包括以下步骤:S1.在工程文件中添加将本地版本提交至SVN版本库的命令;S2.SVN版本号作为参数生成一个版本管理源代码;S3.主程序中按需调用可以打印出SVN版本号的函数;S4.以该工程文件为基础,编译生成可执行应用。
Description
技术领域
本发明涉及一种应用中查看对应源码所对应的SVN版本号的方法,属于软件开发技术领域。
背景技术
为实现复杂的代码版本管理,软件开发过程中一般使用源代码版本管理系统(svn、git等),每当有新的代码提交到svn中时,svn自动更新代码的版本号,这样每一个代码版本在svn中都对应一个唯一的版本号。
一般应用发布后往往进行功能或缺陷更新,会产生很多版本,编译发布的应用的每个发布版本需要对应到svn(或git等其它版本管理工具)中的一个代码版本,这样当应用产品出现问题时,开发人员可以方便的定位到对应版本的代码,进行修改维护。
发布的应用的版本号与svn库中代码版本号对应关系一般是通过手工记录管理,很不方便,也容易出错,后续应用需要维护时查找对应的版本号也很困难。
专利CN102053836A(授权),提出了一种Android应用开发的版本管理工具的实现方法,文件中“步骤S3,解析当前Eclipse插件工程的AndroidManifest.xml文件,将Eclipse插件工程配置文件Android:versionCode的属性值修改为新的版本号N+1,由于在代码上传时,SVN版本号会自动加一,从而与N+1相等,保证了工程版本号和SVN版本号一致性;”该方法实际是假设本地的版本号是与SVN库的最新版本是一致的,实际上在多人共同的开发环境中,如果有其他人提交,SVN库的最新版本会变化的,提交一次就会变化一次,该专利未考虑该实际情况,“由于在代码上传时,SVN版本号会自动加一,从而与N+1相等,保证了工程版本号和SVN版本号一致性;”这句话就不一定正确,如编译机器本地的版本号为1000,而SVN版本库中的版本号就可能是1003或其它号码,从而该专利记录的版本号就可能不正确,就会造成后期维护时出错。此专利能够保证Android工程版本号和SVN版本号保持一致,但这种方法有缺陷,尤其不适合多人共同开发的项目,多人共同开发会造成实际发布的软件显示的版本号与实际的版本号不一致,而这种多人共同开发一个项目现在是很常见的。
专利申请CN102495736A(驳回),提出了一种在可执行文件中标识软件代码svn版本的方法和系统,发明内容提到是”读取软件代码根目录下隐藏的.svn目录中的entries文件,并从中读取软件的代码svn版本号”, 获取svn版本号,该版本号与SVN库的最新版本号可能是不一样的,同样存在专利CN102053836A出现的问题,另外专利CN102495736A没有本地代码提交过程,更容易造成记录的版本号与实际版本号不一致的情况,且几率较大,问题更加严重。
发明内容
本发明目的是提供了一种应用中查看对应源码所对应的SVN版本号的方法,准确方便地知道与生成应用对应源码的SVN版本号,便于对该版本应用进行维护。
本发明为实现上述目的,通过以下技术方案实现:
一种应用中查看对应源码所对应的版本号的方法,包括以下步骤:
S1.在工程文件中添加将本地版本提交至SVN版本库的命令;
S2. SVN版本号作为参数生成一个版本管理源代码;
S3.主程序中按需调用可以打印出SVN版本号的函数;
S4.以该工程文件为基础,编译生成可执行应用。
所述应用中查看对应源码所对应的版本号的方法优选方案,将本地版本提交至SVN版本库,命令为:svn ci -m “auto commit”。
所述应用中查看对应源码所对应的版本号的方法优选方案,步骤s1还包括从版本库更新本地库,命令为:svn up。
所述应用中查看对应源码所对应的版本号的方法优选方案,步骤s2具体过程如下:在工程文件中添加“版本管理模块”命令,版本管理模块中执行“svn up”命令,解析“svnup”命令返回的信息,从中解析出版本号,并将该版本好生成一个版本管理源代码文件,该文件包含一函数主程序调用后打印出SVN版本号信息。
本发明的优点在于:
1.生成的应用显示的版本号与实际代码的SVN号可以做到完全一致,便于以后维护更新,且实施容易。
2.本发明不仅可用于SVN版本管理软件,也可用于git等其它版本管理软件。
3.本发明不仅可用于C/C++语言开发,也可用于其它语言开发。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。
图1为本发明实施例的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
正如本发明背景技术所述现有技术存在获取svn版本号不是很准确,以后对版本应用维护不便的问题,本发明采用的技术方案如下:
一种应用中查看对应源码所对应的版本号的方法,其特征在于,包括以下步骤:
S1.在工程文件中添加将本地版本提交至SVN版本库的命令及从版本库更新本地库的命令,命令分别为:svn ci -m “auto commit”和svn up;
S2. 在工程文件中添加“版本管理模块”命令,版本管理模块中执行“svn up”命令,解析“svn up”命令返回的信息,从中解析出版本号,并将该版本好生成一个版本管理源代码文件,该文件包含一函数主程序调用后打印出SVN版本号信息;
S3.主程序中按需调用可以打印出SVN版本号的函数;
S4.以该工程文件为基础,编译生成可执行应用。
实施例
以Linux 下的C/C++语言为例,在工程文件makefile中添加将本地版本提交至SVN版本库的命令及从版本库更新本地库的命令,进而获取SVN库当前的svn版本号,将当前的svn版本号作为参数生成一个版本管理源代码,该源代码作为工程的一部分参与编译,这样编译生成的应用就可查询对应的SVN版本号。
本方案先将本地版本提交至SVN版本库,命令为:svn ci -m “auto commit”;然后从版本库更新本地库,命令为:svn up。
svn up执行成功后,返回信息包含当前版本库的版本号,本方案包含一版本管理模块,是本方案的一部分,可以解析“svn up”返回的信息,从中解析出版本号,并将该版本号生成一个C/C++语言的源代码文件,该文件包含一函数主程序调用后可以打印出SVN版本号信息。每次编译时,该文件都会动态更新。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种应用中查看对应源码所对应的版本号的方法,其特征在于,包括以下步骤:
S1.在工程文件中添加将本地版本提交至SVN版本库的命令;
S2. SVN版本号作为参数生成一个版本管理源代码;
S3.主程序中按需调用可以打印出SVN版本号的函数;
S4.以该工程文件为基础,编译生成可执行应用。
2.根据权利要求1所述应用中查看对应源码所对应的版本号的方法,其特征在于:将本地版本提交至SVN版本库,命令为:svn ci -m “auto commit”。
3.根据权利要求1所述应用中查看对应源码所对应的版本号的方法,其特征在于:步骤s1还包括从版本库更新本地库,命令为:svn up。
4.根据权利要求1或2或3所述应用中查看对应源码所对应的版本号的方法,其特征在于:步骤s2具体过程如下:在工程文件中添加“版本管理模块”命令,版本管理模块中执行“svn up”命令,解析“svn up”命令返回的信息,从中解析出版本号,并将该版本好生成一个版本管理源代码文件,该文件包含一函数主程序调用后打印出SVN版本号信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110405012.2A CN113157312A (zh) | 2021-04-15 | 2021-04-15 | 应用中查看对应源码所对应的svn版本号的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110405012.2A CN113157312A (zh) | 2021-04-15 | 2021-04-15 | 应用中查看对应源码所对应的svn版本号的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113157312A true CN113157312A (zh) | 2021-07-23 |
Family
ID=76867740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110405012.2A Pending CN113157312A (zh) | 2021-04-15 | 2021-04-15 | 应用中查看对应源码所对应的svn版本号的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113157312A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101655845A (zh) * | 2008-08-21 | 2010-02-24 | 北京亿企通信息技术有限公司 | 一种多人协同工作环境下文档处理的方法 |
CN102053836A (zh) * | 2010-12-31 | 2011-05-11 | 广东欧珀电子工业有限公司 | 一种Android应用开发的版本管理工具的实现方法 |
CN102495736A (zh) * | 2011-12-19 | 2012-06-13 | 曙光信息产业(北京)有限公司 | 一种在可执行文件中标识软件代码svn版本的方法和系统 |
CN107087029A (zh) * | 2017-04-25 | 2017-08-22 | 广州市诚毅科技软件开发有限公司 | 一种关于web前端资源文件版本统一管理与发布的方法 |
CN109213516A (zh) * | 2017-07-01 | 2019-01-15 | 武汉斗鱼网络科技有限公司 | Svn中代码同步与通知的方法、存储介质、设备和系统 |
CN109254779A (zh) * | 2018-08-28 | 2019-01-22 | 苏州浪潮智能软件有限公司 | 一种基于文件版本管理技术的安装包制作方法 |
CN109753289A (zh) * | 2019-01-14 | 2019-05-14 | 网易(杭州)网络有限公司 | 一种美术资源合并方法、装置、电子设备和存储介质 |
-
2021
- 2021-04-15 CN CN202110405012.2A patent/CN113157312A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101655845A (zh) * | 2008-08-21 | 2010-02-24 | 北京亿企通信息技术有限公司 | 一种多人协同工作环境下文档处理的方法 |
CN102053836A (zh) * | 2010-12-31 | 2011-05-11 | 广东欧珀电子工业有限公司 | 一种Android应用开发的版本管理工具的实现方法 |
CN102495736A (zh) * | 2011-12-19 | 2012-06-13 | 曙光信息产业(北京)有限公司 | 一种在可执行文件中标识软件代码svn版本的方法和系统 |
CN107087029A (zh) * | 2017-04-25 | 2017-08-22 | 广州市诚毅科技软件开发有限公司 | 一种关于web前端资源文件版本统一管理与发布的方法 |
CN109213516A (zh) * | 2017-07-01 | 2019-01-15 | 武汉斗鱼网络科技有限公司 | Svn中代码同步与通知的方法、存储介质、设备和系统 |
CN109254779A (zh) * | 2018-08-28 | 2019-01-22 | 苏州浪潮智能软件有限公司 | 一种基于文件版本管理技术的安装包制作方法 |
CN109753289A (zh) * | 2019-01-14 | 2019-05-14 | 网易(杭州)网络有限公司 | 一种美术资源合并方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5898872A (en) | Software reconfiguration engine | |
EP3265916B1 (en) | A method for identifying a cause for a failure of a test | |
US20170228220A1 (en) | Self-healing automated script-testing tool | |
CN106095501A (zh) | 一种应用部署方法及装置 | |
JP4826120B2 (ja) | 業務仕様作成支援システム及び方法 | |
CN117312270A (zh) | 一种数据库自动化构建和部署的变更管理方法 | |
CN106776824B (zh) | Android数据库的升级方法及系统 | |
CN113157312A (zh) | 应用中查看对应源码所对应的svn版本号的方法 | |
Hardt et al. | An empirical evaluation of ant build maintenance using formiga | |
CN115408049A (zh) | 文件版本控制方法、装置和电子设备 | |
JP5374405B2 (ja) | モデルデバッグ装置およびモデルデバッグ方法 | |
CN112486990A (zh) | 一种根据模型描述同步数据库表结构的方法及设备 | |
CN109019217B (zh) | 一种电梯控制软件现场调试系统 | |
CN109739835B (zh) | 一种数据版本保存方法及装置 | |
CN113010232A (zh) | 配置驱动的轻量级批量数据处理方法及装置 | |
JP4490084B2 (ja) | プログラム開発システムにおけるプログラム作成方法 | |
CN117687681B (zh) | 一种低代码应用的版本管理方法及系统 | |
CN113778997B (zh) | 一种数据库版本管理方法、系统及设备 | |
JP2007066204A (ja) | ソフトウエア開発支援システム | |
CN114675735A (zh) | 配置与电源管理接口表调试、芯片调试方法、设备及介质 | |
CN117573194A (zh) | 一种Linux C添加Git信息的方法及系统 | |
JPS61147336A (ja) | ロ−ドモジユ−ルの世代管理方式 | |
JPH11296406A (ja) | プログラム修正支援方法 | |
CN114020315A (zh) | 一种项目信息同步方法及装置 | |
CN114528348A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210723 |