Is it possible to do an update rather than a checkout from CVS?

We  are using TeamCity 3.1.2 very happily for some Java projects and are now trying to use it for C/C++ projects.
In our project, we have a 'template' makefile, from which developers make a copy, and add in their machine-specific paths to required libraries. This copy is  added to .cvs ignore, and referenced in the main Makefile.
In TeamCity, because the checkout folder is 'cleaned', it means that this file is lost on each checkout. One solution is to have this file in a different directory, but the developers are not happy about this, as they want all project resources to be in the project itself.

Is there a way round this?
Is it possible to configure the checkout so that it does not overrwrite certain files? Or to do an update rather than a checkout?

Thanks very much
      Richard Adams
        University of Edinburgh, UK

Comment actions Permalink

Hello Richard,

  TeamCity should not make full checkout for each build (unless this option is explicitly set in TeamCity VCS settings).

  TeamCity tries its best not to cleanup checkout directory without need. The situations when clean checkout is performed are described here.

  TeamCity 4.5.1 also shows reasons for the clean checkout in its build log.

   The only case when TeamCity won't ever cleanup the checkout directory is when you choose "Do not checkout files automatically" in the VCS settings.

   Hope this helps,

Comment actions Permalink

Thanks for the reply - looks like will have to upgrade to 4.5 to get this feature.
In meantime got round problem by adding a <copy> to the first line of the build.xml, whcih we keep on the Teamcity server, so that the server copies the properties file into the project, but does not disrupt the developers' environment.

In 3.1.2, the Action 'Enforce Clean checkout' does not seem to make any difference, whether it is checked or not causes the checkout direcotry to be wiped each checkout.


Please sign in to leave a comment.