如何在C源代码或Makefile中包含我项目(不是文件修订版)的SVN修订版?在C源代码中包含项目的SVN修订版
5
A
回答
8
我们用这样的线在我们的Makefile:
REPO_REV := $(shell svnversion -n)
存储的工作拷贝版本号为make变量。要在C代码中使用它,可以让makefile使用该值在编译器命令行上定义一个宏(类似gcc的-DREPO_REV=$(REPO_REV)
)。
4
从SVN book:
新用户往往被
$Rev$
关键字是如何工作的混淆。由于存储库具有单一的全球增加的修订版本号,因此很多人都认为这个数字反映了$ Rev $关键字的值。但$Rev$
展开显示文件更改的最后修订版本,而不是它更新的最后一个修订版本。理解这一点可以消除混淆,但经常会遇到挫折 - 如果没有Subversion关键字的支持,那么如何自动将全局修订号码存入您的文件?要做到这一点,您需要外部处理。 Subversion附带一个名为
svnversion
的工具,该工具专为此目的而设计。它抓取您的工作副本并生成它找到的修订的输出。您可以使用此程序以及一些附加工具将修订信息嵌入到您的文件中。有关svnversion
的更多信息,请参阅第9章Subversion完整参考中名为“svnversion—Subversion Working Copy Version Info”的部分。
相关问题
- 1. 在源代码中包含SVN修订号
- 2. 在开源项目中包含代码
- 3. 在源代码中注入修订号(TortoiseSvn或SVN Shell)
- 4. 在VS项目中包含非代码
- 5. 如何svn项目的版本控制包含代码和数据文件
- 6. 针对丢失修订版的项目的SVN最佳实践
- 7. 在编译的GWT包中可访问的SVN修订版号
- 8. 显示每个NetBeans项目文件的svn修订版本号
- 9. svn:修订版中不存在路径
- 10. 如何在我的C++代码中包含boost项目
- 11. SVN修订版关键字
- 12. 与SVN Eclipse共享项目时,如何包含源文件/代码?
- 13. svn明确项目与所有修订
- 14. Eclipse中的树比较修订版SVN
- 15. SVN更新修订历史记录中的修订版本
- 16. 在库中包含库的源代码
- 17. 如何将子项目中的源代码包包含在主项目的web.xml中
- 18. 在多个项目中使用svn存储库的源代码(共享项目)
- 19. 在开源项目中包含Highcharts
- 20. 在Maven项目中包含非Java源
- 21. 确定C#中的SVN工作副本修订版#
- 22. 如何编译包含C源文件的C++源代码?
- 23. tortoise svn过滤日志的修订版
- 24. svn比较版本的修订范围
- 25. PHP导出特定的SVN修订版?
- 26. IDL目录中包含的源代码在哪里?
- 27. 如何在C++源代码中包含极长的文字?
- 28. 当前svn修订版本号更新版本在appengine-web.xml中
- 29. 将源代码从SVN项目链接到Eclipse中的另一个项目
- 30. 在Grails 1.3.5中包含Grails插件源码项目