windows下实现svn提交后自动生成版本信息文件

该博客介绍了如何通过脚本自动化从svn获取版本信息并更新到version.h文件中,避免手动操作的繁琐。博主分享了使用svninfo和findstr命令筛选信息,以及设置svn hook在提交时自动执行更新脚本的经验,并解决了中文输出和文件覆盖的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题现象:程序的版本信息保存在version.h中,每次需要手动去添加svn版本很麻烦

问题分析:可以通过自动生成的方式来实现

问题解决:

1、使用svn info将版本信息搜集,使用findstr来筛选信息

2、echo结果到version.h

3、设置svn hook,当有提交动作后,自动执行1 2步编写的脚本指令

问题经验:

1、svn info出的信息是中文:把subversion 目录 C:\Program Files\SlikSvn\Share\Locale\zh_CN\LC_MESSAGES\subversion.mo 文件删除掉后,svn返回都使用了默认的英文,findstr也能找到对应信息

2、echo输出到version.h有误,先>删除之前的内容,再用>>来追加想要的内容

3、svn hook可能会存在失败的可能,可以使用pre-update选项

问题代码:

@echo off
echo #ifndef APP_VERSION_H_ >  ./Includes/app_Version.h 
echo #define APP_VERSION_H_ >> ./Includes/app_Version.h 
for /f "delims=" %%i in ('svn info ./ ^| findstr "Rev:"') do set rev=%%i
set ver=%rev:~18%
echo %ver%
#echo #define VERSION "%ver%" >> ./Includes/app_Version.h 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值