mercurial support in CruiseControl.NET - how to cl

2019-03-15 20:30发布

问题:

I'm using the Mercurial source control block in CruiseControl.NET, and I have it set to autoGetSource but some of the files (such as version number, based on current time) change as part of the build. So for the next build, some of the files are changed so autoGetSource fails.

Is there a way I can tell CruiseControl.NET to do a hg update -C so changed files aren't a problem. Or is there a better way of cleaning out my build folder before starting a build?

回答1:

In a hgrc file, either in the project, on the CC server, or in the CC user's profile directory, you could put:

[defaults]
update = -C

or perhaps better (since [defaults] is frowned on)

[hooks]
pre-update = hg revert --all --no-backup


回答2:

The CC.NET Mercurial source control block has the following setting:

<revertModifications>true</revertModifications>

This will execute hg revert --all --no-backup before updating the source code for the build.

Also see <purgeModifications />

Ref.: CruiseControl.NET server configuration documentation