windows环境自动获取SVN仓库当前版本

我们的软件能够自动引入SVN修订号(仓库版本号),那么我们开发软件的时候就能快速定位bug出自哪个SVN版本。那么如何让软件直接自动生成并引用SVN版本号呢?

我们可以使用SVN info命令,在当前仓库查看SVN Revision,并通过抓取Revision关键字,之后生成一个文件,让我们的软件自动引用。

如果是在dos下输入SVN info命令,一般会提示“svn不是内部或外部命令”。因为windows下安装SVN,默认不安装svn commond line。请现重装SVN选择安装svn commond line,并且添加bin目录到windows环境变量。

之后就可以在dos下使用SVN info 命令了。此时我们可以直接bat脚本中完成一系列工作:

@echo off
set src_dir=%~dp0
for /f "delims=" %%i in ('svn info ^| findstr "Revision"') do set rev=%%i
set rev=%rev:~10%
echo #define SVN_REVISION %rev% > "%src_dir%"svnversion.h

运行这个脚本会在脚本所在目录生成一个svn revision版本号的头文件svnversion.h,我们软件中引用这个头文件就可以得到svn修订版本了。

如果是keil编译软件,可以在project->option for target->User中,设置编译软件之前执行这个脚本。同时,软件记得引用svnversion.h。

还有一个方法,可以利用svn钩子来自动更新这个头文件。在SVN设置界面找到Hook scripts页。分别添加一个Post-commit Hook和Post-update Hook并指定运行这个脚本,即可在每次提交或更新代码后自动更新svnversion.h。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值