在平时的多版本开发过程中,需要通过版本号来定位到源码版本,便于定位问题。常规工程实践是设置版本号为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 文件.