在平時的多版本開發過程中,需要通過版本號來定位到源碼版本,便於定位問題。常規工程實踐是設置版本號為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 文件.