CruiseControl.net и Subversion - PullRequest
       11

CruiseControl.net и Subversion

2 голосов
/ 16 декабря 2009

Мой проект не замечает обновления Subversion. У меня точно такая же настройка, работающая на другом сервере. Это виртуальный сервер.

Вот мой файл журнала после того, как я сделал коммит. Кажется, что ccnet может видеть, что есть обновление, но оно просто заканчивается, говоря, что никаких изменений не обнаружено.

2009-12-17 10:34:47,000 [MyProjectName Continuous Integration:INFO] Project: 'MyProjectName Continuous Integration' is first in queue: 'MyProjectName Continuous Integration' and shall start integration.
2009-12-17 10:34:47,000 [MyProjectName Continuous Integration:DEBUG] Checking if C:\Program Files\CruiseControl.NET\server\MyProjectName Continuous Integration\WorkingDirectory is a svn working folder
2009-12-17 10:34:47,000 [MyProjectName Continuous Integration:DEBUG] Starting process [svn] in working directory [C:\Program Files\CruiseControl.NET\server\MyProjectName Continuous Integration\WorkingDirectory] with arguments [log svn://myserver.com/trunk -r "{2009-12-16T21:19:48Z}:{2009-12-17T17:34:47Z}" --verbose --xml --username myusername --password mypassword --non-interactive --no-auth-cache]
2009-12-17 10:34:47,203 [444:DEBUG] [MyProjectName Continuous Integration svn] <?xml version="1.0"?>
2009-12-17 10:34:47,203 [444:DEBUG] [MyProjectName Continuous Integration svn] <log>
2009-12-17 10:34:47,203 [444:DEBUG] [MyProjectName Continuous Integration svn] <logentry
2009-12-17 10:34:47,203 [444:DEBUG] [MyProjectName Continuous Integration svn]    revision="1427">
2009-12-17 10:34:47,203 [444:DEBUG] [MyProjectName Continuous Integration svn] <author>myusername</author>
2009-12-17 10:34:47,203 [444:DEBUG] [MyProjectName Continuous Integration svn] <date>2009-12-16T18:34:50.148524Z</date>
2009-12-17 10:34:47,203 [444:DEBUG] [MyProjectName Continuous Integration svn] <paths>
2009-12-17 10:34:47,203 [444:DEBUG] [MyProjectName Continuous Integration svn] <path
2009-12-17 10:34:47,203 [444:DEBUG] [MyProjectName Continuous Integration svn]    kind=""
2009-12-17 10:34:47,203 [444:DEBUG] [MyProjectName Continuous Integration svn]    action="M">/trunk/MyProject/MyFile.cs</path>
2009-12-17 10:34:47,203 [444:DEBUG] [MyProjectName Continuous Integration svn] </paths>
2009-12-17 10:34:47,203 [444:DEBUG] [MyProjectName Continuous Integration svn] <msg></msg>
2009-12-17 10:34:47,203 [444:DEBUG] [MyProjectName Continuous Integration svn] </logentry>
2009-12-17 10:34:47,203 [444:DEBUG] [MyProjectName Continuous Integration svn] </log>
2009-12-17 10:34:47,312 [MyProjectName Continuous Integration:INFO] No modifications detected.

Ответы [ 3 ]

3 голосов
/ 17 декабря 2009

Мне удалось это исправить, обновив до последней версии ccnet. Они используют ревизии вместо дат для обновления триггера. после этого все просто заработало.

2 голосов
/ 11 января 2010

У вас нет никаких модификаций, вы просто думаете, что делаете. Это классическая проблема с Subversion, жертвами которой становятся многие пользователи CC.NET. Посмотрите внимательнее на бревно, и вы увидите:

  • Команда SVN выполняется в 2009-12-17 10:34:47 (предположительно, вы находитесь в часовом поясе GMT-7)
  • Диапазон проверяемых модификаций: 2009-12-16 21:19:48 GMT до 2009-12-17 17:34:47 GMT - т.е. , за последние 20 часов больше или меньше
  • Единственная сообщаемая ревизия от 2009-12-16 18: 34: 50.148524 GMT - ДО начало диапазона.

Короче говоря, svn log лежит или, по крайней мере, немного фиб, в том, что он ВСЕГДА сообщает как минимум об одном изменении, даже если оно старше указанного диапазона. См. SVN bug # 1642 , если вам нужны подробности. Скорее всего, это никогда не будет исправлено - последний комментарий от 2004 года.

Это описано в документе CC.NET:

CruiseControl.NET не видит мой изменения

Интерфейс Subversion зависит от часы CruiseControl.Net и Subversion серверы устанавливаются в пределах небольшой разницы. Из-за давняя ошибка Subversion (Bugzilla # 1642), который вряд ли когда-либо будет исправлен, CruiseControl.Net должен отфильтровать список изменений вернул Subversion, искал только те, которые подпадают под определенный временной интервал. Когда часы двух серверы существенно разные, фильтр может игнорировать модификации это не должно быть проигнорировано. Предотвращать эта проблема, держать часы два сервера установлены так близко друг к другу, как возможно.

0 голосов
/ 16 декабря 2009

Ваш виртуальный сервер будет запущен в будущем? Возможно, вам стоит попробовать синхронизацию времени.

...