我想在我的应用程序当前提交号码中显示。我使用SVN,我的代码是C#。
我想知道我是否可以自动更新存储库中的文本文件,因此它将包含一个提交号码,例如,将其显示给用户。
目前,我正在考虑制作一个固定挂钩(一个接收包含提交信息的环境变量的外壳脚本)和"回声"提交编号到该文本文件中。干扰服务器端存储库的文本文件是有效的做法吗?
其他手段存储构建号码?我知道SVN可以为某些关键字修改源代码,但是我需要提交这些文件以修改。我希望能够始终更新该修订号,而不是当我提交特定文件时。
您要显示的不是 commit号码,而是修订号。
检查svn info
命令,该命令在存储库中输出最新的修订号。您可以使您的申请发行svn info
以了解最新的存储库修订号。
- 您没有存储库中包含全局修订号的其他文件,因为存储库已经具有此元信息
- 您必须不得(并且不能真正)修改邮政挂钩中的存储库
- 您可以仅在构建阶段进行修改("构建"可以从repo,compile等...)中进行,并在中写入一些无文化的源
如果您c# - 代码,则使用Windows,是?!在这种情况下,除了svn info
(您必须在使用哪个输出)以外,您可以考虑使用SubwCrev(tortoisesvn的一部分),该subwcrev-keywords将其转换为版本的模板file 文件用关键字替换为来自Repository-Info
看一下SVN:关键字。您可以将$Revision$
放入文件中,如果您设置了该文件的SVN:关键字,则subversion将将修订号添加到该字符串中。
来自:
Revision = $Revision$
to:
Revision = $Revision: 12343$
向您显示此文件是在修订12,343中投入的。
正如大卫指出的那样,您可以使用svn" $ revision $"关键字。当然,这将告诉您最后更改的特定文件的修订。
要了解项目中的总体最新修订版,您可以使用svnversion
Commandline工具。在使用svn update
之后,您将始终有一个数字(但这将是总存储库的头部修订版);使用-c
或--commited
开关,您几乎可以肯定会获得first:last
范围,但是在:
之后,您将获得项目的头部修订。