we are using mercurial as source control in one of our projects. We are trying to setup continuous integration for this project using cruise control .net.
while doing this we setup the source control as
<sourcecontrol type="hg">
<repo>path of repository</repo>
<workingDirectory>
working directory path
</workingDirectory>
</sourcecontrol>
But when i try to build i got an error like this
Error Message: ThoughtWorks.CruiseControl.Core.CruiseControlException: Source control operation failed: abort: http authorization required
. Process command: hg pull --noninteractive repository path
at ThoughtWorks.CruiseControl.Core.Sourcecontrol.ProcessSourceControl.Execute(ProcessInfo processInfo)
at ThoughtWorks.CruiseControl.Core.Sourcecontrol.Mercurial.Mercurial.GetModifications(IIntegrationResult from, IIntegrationResult to)
at ThoughtWorks.CruiseControl.Core.Sourcecontrol.QuietPeriod.GetModifications(ISourceControl sourceControl, IIntegrationResult lastBuild, IIntegrationResult thisBuild)
at ThoughtWorks.CruiseControl.Core.IntegrationRunner.GetModifications(IIntegrationResult from, IIntegrationResult to)
at ThoughtWorks.CruiseControl.Core.IntegrationRunner.Integrate(IntegrationRequest request)
I think the error is happened because i am not giving the username and password in the source control block. But i don’t know how to give the authorization credentials, Please can anyone help me on this.
One option is o put the username and password in the URL — this isn’t a Mercurial thing it’s a part of HTTP URLs in general. Here’s an example:
Other options include using an
[auth]section in the cruise control user’s~/.hgrcfile, but putting it in the URL is probably easiest (though not terribly secure).