我想实现一种在代码中记录项目版本的方法,以便在测试时使用它并帮助跟踪错误。
看起来最好使用的版本号就是 Subversion 的当前修订版号。有没有一种简单的方法可以将这个数字挂接到(在我的例子中是C++)头文件或其他文件中,然后我可以在代码中获取它?我想这是一个提交后钩子什么的?
有谁有实现此功能的经验(请分享代码?),或者可以建议更好的替代方案吗?
谢谢。
两种方式:
Embed $Id$ or $修订$在代码内。然后设置svn:keywords="修订 ID"文件上的属性。这将为您提供该源文件的最后修改版本。适合较小的项目和脚本。
或者,使用 Makefile 驱动的进程和命令行工具 svnversion。 (特定于语言 - 这应该适用于 C/C++)
echo -n "#define VERSION 1.0.1-" > version.h
svnversion -n . >> version.h
或者一些使用 sed 和 version.h.in 的更复杂的构建脚本。然后就#include 版本.h
这将为您提供存储库版本号,该版本号将随着每次提交/更新而变化,并且对于大多数项目来说可能是更合适的版本号。
注意:我还使用了手动更新的人类可读版本字符串。该示例给出:版本:1.0.1-r13445
~J
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)