Поставщик контроля исходного кода CruiseControl.NET не обнаруживает изменений при использовании Mercurial - PullRequest
3 голосов
/ 17 августа 2010

Мы находимся в процессе перехода на Mercurial.В нашем репозитории есть несколько разных проектов, поэтому мы используем отфильтрованный источник контроля, чтобы только изменения в файлах проекта вызывали сборку.В моем ccnet.log я вижу, что CruiseControl правильно выбирает список изменений из Mercurial, но он всегда сообщает: «Изменения не обнаружены».Я думаю, что я могу указать неправильный или неправильный шаблон.

Вот что я вижу в журнале:

2010-08-12 18:25:41,305 [BuildAndTools:DEBUG] Modification Modification: (Type=Changeset,FileName=Build/App.targets,FolderName=,ModifiedTime=8/12/2010 6:16:42 PM,UserName=user,ChangeNumber=5640629ec7b5,Version=5640629ec7b5,Comment=Making a change to see if it triggers a build.,Url=,IssueUrl=,EmailAddress=user@example.com) was not accepted by the filter specification.
2010-08-12 18:25:41,305 [BuildAndTools:INFO] No modifications detected.

И это конфигурация фильтрации пути:

<sourcecontrol type="filtered">
  <dynamicValues />
  <exclusionFilters />
  <inclusionFilters>
    <pathFilter>
      <caseSensitive>False</caseSensitive>
      <pattern>Build\**\*.*</pattern>
    </pathFilter>
  </inclusionFilters>
</sourcecontrol>

Что мне нужно сделать, чтобы CruiseControl.NET увидел модификацию?

Обновление: Эта проблема была исправлена ​​в CruiseControl.NET версии 1.6.

1 Ответ

2 голосов
/ 17 августа 2010

Оказывается, это ошибка в плагине управления источниками Mercurial.Он получает изменения по наборам изменений, а не по файлам (все файлы в наборе изменений сгруппированы в список, разделенный пробелами).Это не тот формат, который работает отфильтрованный поставщик управления исходным кодом, поэтому он никогда не замечает каких-либо изменений.

Я исправил проблему, создал элемент JIRA для отслеживания проблемы и приложил изменения моего кодак этому.

...