SVN自动生成版本号信息
在平时的多版本开发过程中,需要通过版本号来定位到源码版本,便于定位问题。常规工程实践是设置版本号为X.Y.Z.N,一般X表示主版本号,Y表示子版本号,我一般将Z设为0,N为本次提交的SVN版本号,下面来介绍如何通过SVN自带的”SubWCRev.exe”工具来生产版本号信息。
打开SVN自带的帮助文档,搜索关键字 SubWC,可以发现如下信息:
不得不说,外国的软件帮助文档写的确实详细有效,带着问题认真读下去,一切都会水落石出的。在此,只摘取关键信息,汇总如下:
主要原理是SubCRev会读取本地svn库信息,将重要信息通过预设变量的方式,替换模板文件中的占位符,生成自定义的版本信息文件,有了版本信息文件,通过VS中的资源文件来引用对应的变量,达到自动改变版本号的目的。
我们就按照最普通的使用方式来使用 subwcrev.exe 本地路径 模板文件 目标文件
本地路径为本地svn源码库路径,就是包含隐含.svn目录的那个路径
模板文件:带有预设变量的头文件,我是如下设置的
目标文件: 只需要目标文件名就可以,为了意义清晰,一般取version.h名字
切换路径到本地SVN库的根路径下,通过命令行执行 SubWCRev.exe . version_template.h version.h 指令,就可以在本地得到想要的version.h 文件.
SVN自动生成版本号信息的更多相关文章
- Jenkins持续部署-自动生成版本号
目录 Jenkins持续部署-自动生成版本号 目录 前言 目的 详细流程 获取SVN Reversion 获取需求号 设置编译前读取版本号 总结 参考文献 Jenkins持续部署-自动生成版本号 目录 ...
- 最好的 Xcode 自动生成版本号技术
在 bloglovin ,我们使用自动生成版本号来设置Xcode,使当前的版本号为在Git活跃的分支上 的提交数.它一直正常工作着,但我们的技术也不是一帆风顺的. 糟糕的老方法 我们使用的技术是来自一 ...
- Pycharm 设置python文件自动生成头部信息模板
设置头部信息路径: 打开File—Settings—Editor—File and Code Templates—Python Script 输入要自动生成的头部信息模板 这样,新建py文件就会自动生 ...
- 2018-8-10-VisualStudio-2017-项目格式-自动生成版本号
title author date CreateTime categories VisualStudio 2017 项目格式 自动生成版本号 lindexi 2018-08-10 19:16:52 + ...
- 1、Pycharm中创建项目自动生成头信息
1.打开PyCharm 选择File-Settings 2.模块变量描述,并且重新创建一个.py的文件测试,检测是否自动生成头信息
- 使用私有gitlab发布自动生成版本号和标签(version和tag)(骚)
设置 semantic ,自动生成版本号和标签 FROM node:14-buster-slim LABEL maintainer="wangyunpeng" COPY sourc ...
- 修改AssemblyInfo.cs自动生成版本号
一. 版本号自动生成方法 1.把 AssemblyInfo.cs文件中的[assembly:AssemblyVersion("1.0.0.0")]改成[assembly:Assem ...
- .net 程序集自动生成版本号
一. 版本号自动生成方法 只需把 AssemblyInfo.cs文件中的 [assembly:AssemblyVersion("1.0.0.0")]改成 [assembly:Ass ...
- [转载].net程序集自动生成版本号
原文:http://hi.baidu.com/bcbgrand/item/a74a7ba71c3b0ea928ce9dce .net程序版本号的格式是4个十进制数字 比如 2.5.729.2 依次是 ...
随机推荐
- C#学习笔记(28)——委托排序(2)自定义排序
说明(2017-11-21 15:24:50): 1. 定义一个排序方法,参数是字符串数组,和委托.MySort(nums, string.Compare),调用时只需要更换里面的委托方法就行,或者直 ...
- 1. CNN卷积网络-初识
1. CNN卷积网络-初识 2. CNN卷积网络-前向传播算法 3. CNN卷积网络-反向更新 1. 前言 卷积神经网络是一种特殊的深层的神经网络模型,它的特殊性体现在两个方面, 它的神经元间的连接是 ...
- stm32 r8025
uint8_t RX8025_BCD2DEC(uint8_t val) { uint8_t i; i = val&0x0f; //按位与,i得到低四位数 ...
- Tomcat性能优化(二) ExpiresFilter设置浏览器缓存
Tomcat性能调优 通过ExpiresFilter设置资源缓存 [官方文档] http://tomcat.apache.org/tomcat-7.0-doc/config/filter.html#E ...
- oracle快速创建可用用户
执行语句 create user utaptest identified by utaptest; create tablespace utaptestspace datafile 'd:\data. ...
- yum安装LAMP环境与管理(七)
[教程主题]:yum安装LAMP环境与管理 [1] 什么是LAMP 目前世界最流行的企业建站方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作为操作系统,Apache作 ...
- SpringBoot2 【关于:Table 'XXX.hibernate_sequence' doesn't exist】
将ID生成略组改成@GeneratedValue(strategy = GenerationType.IDENTITY).
- sparkR的一个运行的例子
在sparkR在配置完成的基础上,本例采用Spark on yarn模式,介绍sparkR运行的一个例子. 在spark的安装目录下,/examples/src/main/r,有一个dataframe ...
- Recommended Practices for WPF Custom Control Developers
I have always found that there isn’t enough documentation about Custom Control development in WPF. M ...
- android 系统广播
Version:0.9 StartHTML:-1 EndHTML:-1 StartFragment:00000099 EndFragment:00012731 String ADD_SHORTCUT_ ...