首页 > 其他分享 >使用SubWCRev命令将SVN版本号自动设置到vs软件版本中

使用SubWCRev命令将SVN版本号自动设置到vs软件版本中

时间:2023-06-12 10:23:10浏览次数:53  
标签:SVN __ 版本号 SubWCRev include svnTemplate

背景

在软件开发过程中,每次对一个软件产品的release,都要处理该软件版本号。
有的版本号是人为定的,有些是自动生成的,本文介绍在使用SVN版本管理软件的情况下,利用SVN的SubWCRev命令来自动生成对应svn修改版本的版本号,这样便于快速找到对应二进制的编译时的SVN版本号。

操作步骤

1. 首先创建一个需要文件版本信息的模板(svnTemplate.h)。

//svnTemplate.h头文件
#ifndef __SVN_TEMPLATE_H__
#define __SVN_TEMPLATE_H__

//工作副本中最高提交版本
#define SVN_REVISION "$WCREV$"

//工作副本中最高提交版本对应的提交时间,格式为yyyy/MM/dd hh:mm:ss
#define SVN_DATE_TIME "$WCDATE$"

//系统当前时间,格式为yyyy/MM/dd hh:mm:ss
#define SYS_TIME_NOW "$WCNOW$"

#endif

2. 然后开始使用subwcrev.exe此命令,格式如下,

SubWCRev WorkingCopyPath [SrcVersionFile DstVersionFile] [-nmdfe]

具体命令参数及内容,可以参考原版地址
第 6 章 SubWCRev 程序

为了方便添加到vs的项目属性中,可以创建一个bat脚本(setsvnversion.bat)和工程配置文件(.vcproj/.vcxproj)同级。

::setsvnversion.bat
SubWCRev.exe .\ ".\include\svnTemplate.h" ".\include\svnVersion.h"

svnTemplate.h文件放在了工程目录下的include路径下,subwcrev会获取SVN的工程提交版本号,替换此文件内的变量;
然后使用svnTemplate.h文件替换工程使用文件svnVersion.h。

3. 将脚本添加到VS工程属性当中

选择工程项目->鼠标右键->属性

预生成事件中,将命令行添加上此bat的名字;(也可以在这直接写SubWCRev.exe .\ ".\include\svnTemplate.h" ".\include\svnVersion.h")
设置完成,点击确定。

4. 在需要替换版本号的地方使用SVN_REVISION宏进行替换。

标签:SVN,__,版本号,SubWCRev,include,svnTemplate
From: https://www.cnblogs.com/jarung/p/17474223.html

相关文章

  • 165. 比较版本号
    难度中等370给你两个版本号 version1 和 version2 ,请你比较它们。版本号由一个或多个修订号组成,各修订号由一个 '.' 连接。每个修订号由 多位数字 组成,可能包含 前导零 。每个版本号至少包含一个字符。修订号从左到右编号,下标从0开始,最左边的修订号下标为0......
  • Maven project 中,运行时获取某依赖的版本号
    <dependency> <groupId>cn.xs</groupId> <artifactId>qishi-api</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency>  // D:\mvnrepository\cn\xs\qishi-api\0.0.1-SNAPSHOT\qishi-api......
  • 一键修改pom 版本号
     packagecn.zno.version;importjava.io.File;importjava.nio.charset.Charset;importcn.zno.ambi.bas.util.FileUtils;importcn.zno.ambi.bas.xml.XmlUtils;publicclassMain{publicstaticvoidmain(String[]args){if(args.length==0)......
  • Slik-Subversion使用命令行或者Ant获得本地svn的版本号码
    使用命令行Subversion访问项目源文件[url]https://www.open.collab.net/nonav/scdocs/ddUsingSVN_command-line.html.zh-cn[/url]Slik-Subversion安装包地址[url]https://sliksvn.com/pub/[/url]1.安装Slik-Subversion-1.7.19-x64.msi[url]https://sli......
  • SVN基本使用
    SVN协同开发工具(版本控制器)目前使用最广泛的就是svn和git主要作用:管理项目的版本,多人协同开发svn和git帮我们管理项目svn:集中式git:分布式安装SVN打开服务器:注意事项:svn的服务器默认是80端口,所以和xampp的端口冲突推荐修改svn服务器端口:打开服务器端找一个......
  • CentOS 安装 svn server
    https://www.howtoforge.com/tutorial/how-to-setup-a-svn-server-on-centos-6/安装安装subversion只需一条命令yuminstall-ysubversion输入的日志信息:Loadedplugins:fastestmirror,langpacksRepodataisover2weeksold.Installyum-cron?Orrun:yummakec......
  • CentOS 安装 svn server ..
    https://subversion.apache.org/packages.html 1.安装Subversionyuminstall-ysubversion2.安装mod_dav_svnyuminstall-ymod_dav_svn3.使用svnadmin命令创建svn仓库手册svnadmincreate/data/svn/repo14.将所属权移交apachechown-Rapache:apache......
  • aardio获取exe文件的版本号
    看文档以为是这样取varinfo=fsys.version.getInfo(io._exepath);fsys.version.getInfo(io._exepath).productVersion;或者fsys.version.getInfo(io._exepath).fileVersion;结果不是,返回的是1.2.3.4中的一个数字  后来才查到要自己拼接varr=fsys.version.getInfo......
  • SVN的基本使用
    SVN学习1.什么是svn?全称:SubVersion特点:操作方便,入门简单支持跨平台操作(Window,Linux,MacOs)支持版本回退(时间机器)属于c/s结构软件(客户端与服务端)服务端为:VisualSVN客户端为:Tortoisesvn基本操作检出checkout新增add提交commit更新update历史记录撤销和恢复......
  • 查看nebula版本号 console里show hosts graph
    (root@nebula)[(none)]>showhostsgraph+-------------+------+----------+---------+--------------+---------+|Host|Port|Status|Role|GitInfoSha|Version|+-------------+------+----------+---------+--------------+---------+|&q......