У меня CruiseControl.NET, настроенный с использованием блока управления источниками Mercurial. Когда я впервые выполнил сборку, код был загружен из моего хранилища Kiln, и сборка прошла без проблем. Однако каждая последующая сборка завершается сбоем, и я считаю, что причина в том, что hg.exe pull возвращает код ошибки «1», указывающий на то, что не было обнаружено никаких изменений. Я подтвердил код возврата с помощью Process Explorer. Дело в том, что CruiseControl.NET явно рассматривает это как условие сбоя, но я бы предпочел, чтобы он просто не рассматривал попытку как сборку. По моему опыту, с другими системами контроля версий CruiseControl.NET просто ничего не будет делать, если в хранилище не будет изменений.
[Project:DEBUG] Starting process [C:\Program Files\Mercurial\hg.exe] in working directory [D:\Working] with arguments [pull https://urlredacted]
[Project:DEBUG] Not setting PriorityClass on [C:\Program Files\Mercurial\hg.exe] to default Normal
[10:DEBUG] [Project C:\Program Files\Mercurial\hg.exe] standard-error stream closed -- null received in event
[9:DEBUG] [Project C:\Program Files\Mercurial\hg.exe] pulling from https://urlredacted
[6:DEBUG] [Project C:\Program Files\Mercurial\hg.exe] process exited event received
[9:DEBUG] [Project C:\Program Files\Mercurial\hg.exe] searching for changes
[9:DEBUG] [Project C:\Program Files\Mercurial\hg.exe] no changes found
[9:DEBUG] [Project C:\Program Files\Mercurial\hg.exe] standard-output stream closed -- null received in event
[Project:WARN] Source control failure (GetModifications): Source control operation failed: . Process command: C:\Program Files\Mercurial\hg.exe pull https://urlredacted
У меня вопрос, есть ли конфигурация CruiseControl.NET, которую я могу использовать, чтобы игнорировать попытку сборки, если hg.exe pull приводит к 1, или мне придется измениться? Код CruiseControl.NET?
Я использую CruiseControl.NET 1.6 и Mercurial 2.1.