用SVN的SubWCRev管理同步项目版本号
2016-08-24 11:53
323 查看
使用svn进行项目代码管理过程中,都有这么个问题,发布版本的时候,几下了svn的版本号,然后出现bug后,根据记录去查找对应的svn版本的代码进行定位和解决bug,但是大部分时候我们希望,在日志里面,或者在软件中编译进去svn号,这样就可以快速的定位到是哪个svn的版本出现问题,下面通过在vs2008中实现
1.首先新建一个模板,比如叫version_template.h,内容如下:
setlocal
::设置svn客户端安装目录
set SVN_PATH=C:\Program Files\TortoiseSVN\bin
::设置工作目录,即工程目录
set WORK_DIR=F:\SvnCode\DemoClient
::设置版本模版文件,对应第一步中新建的模板文件
set VERSION_TEMPLATE=F:\SvnCode\DemoClient\version_template.h
::设置版本号生成文件,生成的文件就是我们需要使用的版本文件
set VERSION_RELEASE=F:\SvnCode\DemoClient\version.h
::进入svn客户端安装目录
cd %SVN_PATH%
::执行更新版本号操作
SubWCRev.exe “%WORK_DIR%” “%VERSION_TEMPLATE%” “%VERSION_RELEASE%”
endlocal
3.以管理员权限执行批处理文件,可以看到version.h文件在VERSION_RELEASE中生成了,里面内容与新建的模板文件基本一样,除了#define VER_REVISION WCREV
version.h内容:
1.0.1617,通过这个版本号,就可以快速的定位到是什么svn号的代码出现的bug,然后通过svn的log就能查看是否已经解决
5.当然,可能你会说,每次都要手动去执行这个批处理文件来更新version.h文件还是比较麻烦,那么,你可以再工程属性中配置预生成事件,设置命令行中内容为:svupdate.bat,那么每次你执行生成编译的时候都可以自动帮你更新,然后再编译进软件中,若使用的linux环境,这可以在makefie中加入shell脚本的执行,也是可以自动生成文件,并编译进去软件中,同时,如果是对后台进行开发的可能只有日志输出,那么你可以在每个日志的开头都先写入我们得到的版本号来进行快速定位日志文件对应的svn版本号
ps:转载注明出处是一种美德 http://blog.sina.com.cn/s/blog_75c9af020102vgh2.html
1.首先新建一个模板,比如叫version_template.h,内容如下:
ifndef TMPVERSION_H
define TMPVERSION_H
define VER_MAJOR 1
define VER_MINOR 0
define VER_REVISION WCREV //注意这个,查看svn帮助文档可以看到会进行svn号的替换
endif //!TMPVERSION_H
2.新建一个批处理文件(windows)或者shell脚本文件(linux),此处以windows做示例,svnupdate.bat,内容如下:setlocal
::设置svn客户端安装目录
set SVN_PATH=C:\Program Files\TortoiseSVN\bin
::设置工作目录,即工程目录
set WORK_DIR=F:\SvnCode\DemoClient
::设置版本模版文件,对应第一步中新建的模板文件
set VERSION_TEMPLATE=F:\SvnCode\DemoClient\version_template.h
::设置版本号生成文件,生成的文件就是我们需要使用的版本文件
set VERSION_RELEASE=F:\SvnCode\DemoClient\version.h
::进入svn客户端安装目录
cd %SVN_PATH%
::执行更新版本号操作
SubWCRev.exe “%WORK_DIR%” “%VERSION_TEMPLATE%” “%VERSION_RELEASE%”
endlocal
3.以管理员权限执行批处理文件,可以看到version.h文件在VERSION_RELEASE中生成了,里面内容与新建的模板文件基本一样,除了#define VER_REVISION WCREV
version.h内容:
ifndef TMPVERSION_H
define TMPVERSION_H
define VER_MAJOR 1
define VER_MINOR 0
define VER_REVISION 1617
endif //!TMPVERSION_H
4.我们将新生成的version.h文件加入VS工程,然后在代码里面我们就可以组成一个版本号如:1.0.1617,通过这个版本号,就可以快速的定位到是什么svn号的代码出现的bug,然后通过svn的log就能查看是否已经解决
5.当然,可能你会说,每次都要手动去执行这个批处理文件来更新version.h文件还是比较麻烦,那么,你可以再工程属性中配置预生成事件,设置命令行中内容为:svupdate.bat,那么每次你执行生成编译的时候都可以自动帮你更新,然后再编译进软件中,若使用的linux环境,这可以在makefie中加入shell脚本的执行,也是可以自动生成文件,并编译进去软件中,同时,如果是对后台进行开发的可能只有日志输出,那么你可以在每个日志的开头都先写入我们得到的版本号来进行快速定位日志文件对应的svn版本号
ps:转载注明出处是一种美德 http://blog.sina.com.cn/s/blog_75c9af020102vgh2.html
相关文章推荐
- 用SVN的SubWCRev管理同步项目版本号
- [置顶] 【PE】利用SVN的SubWCRev.exe管理同步项目的版本号
- 用TortoiseSVN的SubWCRev.exe管理同步项目版本号
- 结合金山快盘和SVN做项目管理,单位和家里都能同步更新啦
- 使用SVN-subwcrev命令 发布软件版本
- 怎样在VS2005,VS2008下里用SVN的SubWCRev自增修订号 .
- 怎样在VS2005下里用SVN的SubWCRev自增修订号
- 利用subwcrev.exe工具自动生成VS开发工具中的版本号
- 怎样在VS2005,VS2008下里用SVN的SubWCRev自增修订号 .
- 利用 Google Code建立自己的 SVN项目同步管理
- 怎样在VS2005,VS2008下里用SVN的SubWCRev自增修订号 .
- SVN如何管理项目的版本号,如1.0.1.xx,修改到1.1.1.xx?
- 项目管理实践【六】自动同步数据库【Using Visual Studio with Source Control System to synchronize database automatically】
- 多项目SVN权限管理
- 项目管理实践教程二、源代码控制【Source Control Using VisualSVN Server and TortoiseSVN】
- 【邮件】有关于项目管理过程的问题及SVN的推进
- [开发] 项目管理之 CVS & SVN 总结
- 同步训练4-项目时间管理
- 同一个项目, SVN和CVS之间代码同步更新[转载]
- 项目管理和版本跟踪——Redmine和SVN的结合