怎样在VS2005,VS2008下里用SVN的SubWCRev自增修订号 .

简介:  为了使软件版本号的最后一位,即修订号与由svn管理的代码库修订号保持一致并自动更新,可以利用VS2005的生成事件和 svn 中的 subwcrev 程序实现,步骤如下:工具/原料Visual Studio 2005 SVN 客户端( TortoiseSVN 或其他 ) 步骤/方法编写一个模板文件,比如取名为 version_template.

 

为了使软件版本号的最后一位,即修订号与由svn管理的代码库修订号保持一致并自动更新,可以利用VS2005的生成事件和 svn 中的 subwcrev 程序实现,步骤如下:

工具/原料

  • Visual Studio 2005
  • SVN 客户端( TortoiseSVN 或其他 )

步骤/方法

  1. 编写一个模板文件,比如取名为 version_template.h,内容如下

    #ifndef _VERSION_H_
    #define _VERSION_H_

    #define VER_MAJOR 1
    #define VER_MINOR  0
    #define VER_REVISION $WCREV$

    #endif //!_VERSION_H_
  2. 找到 subwcrev.exe 可执行文件,一般在 svn 客户端的安装目录下,比如 TortoiseSVN 是在其安装目录的bin文件夹下。这里,笔者将 subwcrev.exe 复制到了代码工程目录下,方便使用。
  3. 在VS2005的项目属性页->预生成事件->命令行中添加一句:

    $(SolutionDir)\subwcrev.exe $(SolutionDir) $(SolutionDir)\src\qmlv\version_template.h $(SolutionDir)\src\qmlv\version.h


    SubWCRev 调用语法:
    SubWCRev WorkingCopyPath [SrcVersionFile DstVersionFile]
  4. 这样,代码编译通过后,预生成事件被触发,VS2005 调用SubWCRev.exe程序,替换version_template.h中的宏$WCREV$为当前的svn修订号,并另存为 version.h文件,version.h 会类似于:

    #ifndef _VERSION_H_
    #define _VERSION_H_

    #define VER_MAJOR 1
    #define VER_MINOR 0
    #define VER_REVISION 2821

    #endif //!_VERSION_H_
  1. 在程序中需要显示版本号的地方,引用 VER_REVISION 宏即可。
目录
相关文章
Subversion Revision Keywords(SVN 修订版本关键字)
Subversion Revision Keywords:HEAD、BASE、COMMITTED、PREV
134 0
Subversion Revision Keywords(SVN 修订版本关键字)
将 svn 版本修订号写入程序版本信息
tsvn 带有一个命令行程序 subwcrev.exe. 可以对一个指定文件进行一些宏替换, 比如: 将 $WCREV$ 替换成当前版本号. 这个是最有用的. 详细帮助见http://tortoisesvn.
1136 0
|
1月前
|
存储 网络协议 Ubuntu
Linux环境下的SVN服务器搭建并结合内网穿透实现远程连接
Linux环境下的SVN服务器搭建并结合内网穿透实现远程连接
|
1月前
|
Ubuntu 安全 网络安全
百度搜索:蓝易云【Ubuntu系统SVN服务器搭建教程】
现在,你已经成功在Ubuntu系统上搭建了SVN服务器。其他用户可以通过SVN客户端连接到你的SVN服务器,进行代码版本管理和协作开发。注意,为了安全起见,建议配置SSL加密以保护数据传输。
51 1
|
1月前
|
Apache 项目管理 数据安全/隐私保护
【cpolar】TortoiseSVN如何安装并实现公网提交文件到本地SVN服务器
【cpolar】TortoiseSVN如何安装并实现公网提交文件到本地SVN服务器
64 0
|
9月前
|
IDE Linux 开发工具
从旧服务器迁移svn到另一台新服务器中(linux系统)|遇到诸多坑,已解决
从旧服务器迁移svn到另一台新服务器中(linux系统)|遇到诸多坑,已解决
|
1月前
|
网络协议 Ubuntu Linux
如何在Linux环境搭建本地SVN服务器并结合cpolar实现公网访问
如何在Linux环境搭建本地SVN服务器并结合cpolar实现公网访问
|
1月前
|
存储 网络协议 Ubuntu
Linux环境下SVN服务器的搭建与公网访问:使用cpolar端口映射的实现方法
由于文档资料越来越多,将所有资料都存放在自己的电脑上容易混淆,并且也不利于分享。这种情况下,考虑将资料上传SVN统一管理,这样一来其他人也能很方便的查略各种资料。
|
1月前
|
算法 程序员 Apache
Windows下搭建SVN服务器并配置eclipse和idea
Windows下搭建SVN服务器并配置eclipse和idea
84 1