首先,不要试图用SVN keyword substitution来做到这一点。如果将$ rev $关键字放入文件中,并使用svn:keywords属性启用关键字替换,则不会得到您想要的结果。您将获得影响包含关键字的文件的最新修订版本,而不是影响项目任何部分的最新修订版本。
正确的方法是使用svnversion命令的输出。您可能需要编写一个调用此命令的小脚本,捕获输出,然后使用修订号来更新项目文件或源代码文件。
如果你可以依靠TortoiseSVN的安装,更简单的方法是使用SubWCRev.exe效用是这样的:
SubWCRev.exe . VersionInfo.template VersionInfo.cs
其中VersionInfo.template是这样的一个C#项目:
using System.Reflection;
[assembly: AssemblyVersion("2.0.0.$WCREV$")]
[assembly: AssemblyFileVersion("2.0.0.$WCREV$")]
警告:windows版本号由4个数字组成,每个数字限制为16位。 Subversion版本号很容易变得比这更大。