修改有关SVN提交的文本文件,以使我的程序知道其提交号码



我想在我的应用程序当前提交号码中显示。我使用SVN,我的代码是C#。

我想知道我是否可以自动更新存储库中的文本文件,因此它将包含一个提交号码,例如,将其显示给用户。

目前,我正在考虑制作一个固定挂钩(一个接收包含提交信息的环境变量的外壳脚本)和"回声"提交编号到该文本文件中。干扰服务器端存储库的文本文件是有效的做法吗?

其他手段存储构建号码?我知道SVN可以为某些关键字修改源代码,但是我需要提交这些文件以修改。我希望能够始终更新该修订号,而不是当我提交特定文件时。

您要显示的不是 commit号码,而是修订号

检查svn info命令,该命令在存储库中输出最新的修订号。您可以使您的申请发行svn info以了解最新的存储库修订号。

  1. 您没有存储库中包含全局修订号的其他文件,因为存储库已经具有此元信息
  2. 必须不得(并且不能真正)修改邮政挂钩中的存储库
  3. 您可以仅在构建阶段进行修改("构建"可以从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范围,但是在:之后,您将获得项目的头部修订。

相关内容

最新更新