Nous migrons vers Mercurial, et bien sûr, nous devons mettre à jour notre processus de construction CruiseControl.Net pour l'utiliser à la place de Visual SourceSafe.Erreur "Crosses Branches" avec Mercurial et CruiseControl.Net
Nous mis à jour notre fichier de configuration de CruiseControl avec le bloc suivant:
<sourcecontrol type="hg" autoGetSource="true">
<executable>C:\Program Files\Mercurial\hg.exe</executable>
<repo>https://bitbucket.org/GTSDevs/galaxy</repo>
<workingDirectory>C:\Cruise Control\Releases\5.0.0\source</workingDirectory>
<branch>master</branch>
<multipleHeadsFail>false</multipleHeadsFail>
<tagOnSuccess>true</tagOnSuccess>
<timeout units="minutes">20</timeout>
</sourcecontrol>
Cela a bien fonctionné jusqu'à ce que nous avons poussé un code à notre référentiel avec une branche en elle. Maintenant, notre génération échoue avec l'erreur suivante:
ThoughtWorks.CruiseControl.Core.CruiseControlException: Source control operation failed: abort: crosses branches (merge branches or use --clean to discard changes)
. Process command: C:\Program Files\TortoiseHg\hg.exe update -r master --noninteractive
at ThoughtWorks.CruiseControl.Core.Sourcecontrol.ProcessSourceControl.Execute(ProcessInfo processInfo)
at ThoughtWorks.CruiseControl.Core.Sourcecontrol.Mercurial.Mercurial.GetSource(IIntegrationResult result)
at ThoughtWorks.CruiseControl.Core.IntegrationRunner.Build(IIntegrationResult result)
at ThoughtWorks.CruiseControl.Core.IntegrationRunner.Integrate(IntegrationRequest request)
Toutes les informations que je peux trouver sur l'erreur semble se rapporter à faire un update
.
Quelqu'un peut-il aider à surmonter cela?
Y at-il quelque chose de plus que nous devrions faire dans notre fichier ccnet.config pour soutenir Mercurial?
Est-ce une branche nommée vous avez ajouté? –
Oui, c'était une branche nommée. –