ant svntask извлекает ревизионное сообщение

Я использую ant с svntask, чтобы обновить репозиторий перед созданием приложения. В конце сборки отправляется электронное письмо с результатами сборки. Было бы очень полезно включить номер ревизии svn и сообщение в это электронное письмо, поэтому, если сборка прервется, мы знаем, какую ревизию проверить.

В настоящее время я показываю только номер ревизии:

<status path="${main.site}" revisionProperty="sqlUpdateStatus.revision"/>

Но я не знаю, как (или если есть способ) получить сообщение этой ревизии (сообщение, введенное коммитером). Ребята, вы знаете, как это сделать?

6 ответов

Это не совсем ответ на ваш вопрос, но рассматривали ли вы возможность использования инструмента непрерывной интеграции (CI), такого как Hudson?

Hudson поставляется с поддержкой SVN и ANT, а также возможностью отправлять сообщения об ошибках при сбое сборки.

Я не думаю, что есть встроенный способ получить сообщение о коммите, но вы можете вытащить его вручную из svn с помощью такой команды:

svnlook log -r X /path/to/repo

Это вернет сообщение журнала для ревизии X для хранилища в /path/to/repo. Вы могли бы обернуть это в exec-задачу муравья, чтобы превратить его из муравья...

+1 для Гудзона - очень прост в развертывании и настройке

Использование исполняемого файла:

<exec executable="svn" dir="." outputproperty="ant.comment">
     <arg line="propget --revprop svn:log -r${ant.revision}"/>
</exec>
<echo>The comment is: ${ant.comment}</echo>

Используйте следующую команду

svn propget --revprop svn:log -r HEAD --username USERNAME svn://THE_URL
<svn username="username" password="password">
 <log url="svn://url"/>
</svn>

Я не знаю хорошего способа получить это с помощью svnant, но хороший способ получить это из командной строки:

svn propget --revprop svn:log -r1234
Другие вопросы по тегам