Разбор subversion metainfo для получения последнего номера ревизии ИМХО не очень хорошая идея.
На самом деле, существует другой стандартный способ получения номера ревизии. Вы можете использовать svn:keywords
, чтобы получить номер текущей ревизии в ваших файлах после каждой фиксации. Существует свойство $Revision$
для замены ревизии. Вам просто нужно поместить следующую строку в файл и поместить этот файл под контроль версий:
$Revision$
Если вам нужно использовать свойство revision в ant, я бы порекомендовал поместить в файл version.properties следующее содержимое:
revision=$Revision$
Затем включите в build.xml
утверждение:
<property file="build.properties"/>
И тогда вы сможете использовать номер редакции в вашем скрипте сборки:
<echo message="Deploying revision ${revision}" />
Также обратите внимание, что вам нужно будет явно включить svn:keywords
, используя свойства subversion, чтобы заменить $Revision$
в вашем файле действительным значением. Если вы используете version.properties
для получения значения номера редакции, вам нужно будет выполнить следующую команду:
svn propset svn:keywords Revision version.properties
Не уверен, что это сработает для вашего случая, но этот подход я чаще всего использую в своих проектах, если я хочу использовать номер редакции в процессе сборки. Этот подход определенно лучше, чем получение номера редакции из рабочей копии metainfo.