搜索
bottom↓
回复: 3

小工具,查询代码SVN信息,自动生成全局version

[复制链接]

出0入0汤圆

发表于 2015-1-12 16:52:09 | 显示全部楼层 |阅读模式
本帖最后由 arda 于 2015-1-12 16:56 编辑

发一个小工具,当代码采用SVN管理的时候如果指定了SVN keyword Id属性, 可以用这个小工具快速查询并自动生成全局版本编号(即最后修改文件版本及日期)

Feature:
1. 可以指定查询根目录及查询过滤扩展名
2. 可以指定输出文件名
3. 可以使用简单字符串指定输出格式
4. 可以使用模版文件指定输出格式
5. 可以指定调试信息输出级别
6. 可以使用扩展的正则查询表达式

Requirement:
.Net Framework 4.5.1

帮助信息如下:
  1. This utility is used to parse svn version id string like this:
  2.   $Id:: comm_package.h 883 2014-12-09 04:13:54Z apra $

  3. usage: ArdaGlobalVerGen [-options]

  4.   options:
  5.   -i inpath       , defines the INPUT search path.
  6.   -o outflie      , defines the OUTPUT result header file.
  7.   -s formatstring , defines the output string format.
  8.                     using keyword $version$ $datetime$ for replacement.
  9.   -f formatfile   , defines the output format templet file.
  10.                     using keyword $version$ $datetime$ for replacement.
  11.   -t tracelevel   , defines trace level of output infos, silence = 0.
  12.   -e extstring    , defines file ext filter string. default:"c,h,cpp,cs,s,asm"
  13.   -r regexstring  , defines regex string for match svn id string. Regex string
  14.                     should include match group'file'/'version'/''datetime
  15.   -h              , show this help.

  16.   If no arguments, search current folder with default ext filter and generates
  17.   VersionInfo.h in current folder. This file will define two micro named as
  18.   GlobalVersion and GlobalDateTimeTag

  19. Examples:
  20. ArdaGlobalVerGen -i "D\:\Proj_xxx\src" -o "D\:\Proj_xxx\inc\ver.h"
  21. ArdaGlobalVerGen -s " const unsigned char* verstr = "Ver: $version$";" -t 1
复制代码

生成的代码示例如下:
  1. //------------------------------------------------------------------------------
  2. //  Copyright(C) Arda Technologies, 2007-2015. All rights reserved.
  3. //------------------------------------------------------------------------------
  4. //  Description: Global Version Informations
  5. //  Author:      XXXX
  6. //  DateTime:    2015/01/12 03:49:16
  7. //------------------------------------------------------------------------------
  8. //  This file is auto generated by ArdaGlobalVerGen utility.
  9. //------------------------------------------------------------------------------
  10. #ifndef __VERSIONINFO_H_
  11. #define __VERSIONINFO_H_
  12. #define GlobalVersion     931
  13. #define GlobalDateTimeTag "2015/1/12 12:54:01"
  14. #endif //__VERSIONINFO_H_
复制代码

附件包含
1. 查询工具ArdaGlobalVerGen,
2. 两个脚本,分别采用格式字符串及文件模版定义输出格式
3. 一个文件模版

下载链接:


使用方法:
在编译前从前端自动调用此小工具生成版本信息,再启动编译。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2015-1-12 17:00:39 | 显示全部楼层
感觉做电工的很少用SVN, 不知道是不是因为大多项目都是一脚踢, 很少项目会多人联合开发的缘故.

出0入0汤圆

发表于 2015-1-12 17:16:40 | 显示全部楼层
本帖最后由 alitasoft 于 2015-1-12 17:24 编辑

有效的版本管理无论是否一个人还是多个人、无论你或你的同伙有多么强都要去做,把它变成自己的一部分,
不做版本管理导致项目流产的概率会大幅度增加

通过不同的SVN客户端也可以方面的看看项目进展情况,这是最近一个项目差不多10周的情况,
你可以看到这两个人的工作进展

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2015-5-18 10:44:59 | 显示全部楼层
alitasoft 发表于 2015-1-12 17:16
有效的版本管理无论是否一个人还是多个人、无论你或你的同伙有多么强都要去做,把它变成自己的一部分,
不 ...

只已提交看工作量也不科学啊  应该看合并代码的管理员 看他怎么评价嘛
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-25 12:31

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表