Во-первых, не пытайтесь использовать подстановку ключевых слов SVN для этого. Если вы поместите ключевое слово $ 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 могут легко стать больше.