应用中查看对应源码所对应的SVN版本号的方法与流程

文档序号:26003540发布日期:2021-07-23 21:21阅读:172来源:国知局
应用中查看对应源码所对应的SVN版本号的方法与流程

本发明涉及一种应用中查看对应源码所对应的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版本库,命令为:svnci-m“autocommit”。

所述应用中查看对应源码所对应的版本号的方法优选方案,步骤s1还包括从版本库更新本地库,命令为:svnup。

所述应用中查看对应源码所对应的版本号的方法优选方案,步骤s2具体过程如下:在工程文件中添加“版本管理模块”命令,版本管理模块中执行“svnup”命令,解析“svnup”命令返回的信息,从中解析出版本号,并将该版本好生成一个版本管理源代码文件,该文件包含一函数主程序调用后打印出svn版本号信息。

本发明的优点在于:

1.生成的应用显示的版本号与实际代码的svn号可以做到完全一致,便于以后维护更新,且实施容易。

2.本发明不仅可用于svn版本管理软件,也可用于git等其它版本管理软件。

3.本发明不仅可用于c/c++语言开发,也可用于其它语言开发。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。

图1为本发明实施例的流程示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

正如本发明背景技术所述现有技术存在获取svn版本号不是很准确,以后对版本应用维护不便的问题,本发明采用的技术方案如下:

一种应用中查看对应源码所对应的版本号的方法,其特征在于,包括以下步骤:

s1.在工程文件中添加将本地版本提交至svn版本库的命令及从版本库更新本地库的命令,命令分别为:svnci-m“autocommit”和svnup;

s2.在工程文件中添加“版本管理模块”命令,版本管理模块中执行“svnup”命令,解析“svnup”命令返回的信息,从中解析出版本号,并将该版本好生成一个版本管理源代码文件,该文件包含一函数主程序调用后打印出svn版本号信息;

s3.主程序中按需调用可以打印出svn版本号的函数;

s4.以该工程文件为基础,编译生成可执行应用。

实施例

以linux下的c/c++语言为例,在工程文件makefile中添加将本地版本提交至svn版本库的命令及从版本库更新本地库的命令,进而获取svn库当前的svn版本号,将当前的svn版本号作为参数生成一个版本管理源代码,该源代码作为工程的一部分参与编译,这样编译生成的应用就可查询对应的svn版本号。

本方案先将本地版本提交至svn版本库,命令为:svnci-m“autocommit”;然后从版本库更新本地库,命令为:svnup。

svnup执行成功后,返回信息包含当前版本库的版本号,本方案包含一版本管理模块,是本方案的一部分,可以解析“svnup”返回的信息,从中解析出版本号,并将该版本号生成一个c/c++语言的源代码文件,该文件包含一函数主程序调用后可以打印出svn版本号信息。每次编译时,该文件都会动态更新。

最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1