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