2009-12-16 4 views
2

Мой проект не замечает, когда обновляется subversion. У меня такая же настройка, что и на другом сервере. Это виртуальный сервер.CruiseControl.net и 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. 
+0

«-r» {2009-12-16T21: 19: 48Z}: {2009-12-17T17: 34: 47Z} "выглядит подозрительно. –

+0

Я установил это вчера, и он проверяет subversion каждые две минуты. Должны ли даты быть ближе? – zachary

ответ

2

У вас нет никаких изменений, вы просто думаете, что это так. Это классическая проблема с 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 - ie, за последние 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

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

+0

Я пробовал синхронизацию времени, и он, похоже, не работает. Если я поставлю время сервера cruise control.net в далеком прошлом, это обеспечит изменение изменений? – zachary

+0

Я переместил дату 1 год в прошлое, чтобы посмотреть, не найдет ли она что-нибудь ... ничего – zachary

3

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

+0

более чем за два дня я приму свой ответ, когда переполнение стека позволит мне – zachary

Смежные вопросы