Я успешно использую CruiseControl.NET 1.5.7256.1 с установленным Mercurial из этого msi , используя полный путь hg.exe
в качестве значения executable
.
В project\core\sourcecontrol\Mercurial\Mercurial.cs
шаблон используется следующим образом:
buffer.AddArgument("--template", HistoryTemplate)
и будет отформатирован для командной строки следующим образом:
string.Format("{0}{1}{2}", arg, separator, StringUtil.AutoDoubleQuoteString(value))
где разделитель равен " "
, а AutoDoubleQuoteString
будетзаключите в кавычки шаблон, так что это не может быть причиной ошибки.
ОБНОВЛЕНИЕ 1
На самом деле, AutoDoubleQuoteString
должно процитироватьшаблон, но в текущей версии не делает этого.Кроме того, даже если сборка завершается успешно при использовании hg.exe
, выполнение фактической командной строки в командной строке возвращает ту же ошибку.
UPDATE 2
CruiseControl.NET 1.6.7981.1 был только что выпущен (см. примечания к выпуску ), и, поскольку шаблон теперь передается в виде файла, он работает просто отлично (по крайней мере, на моем ПК).