How can I force a build with all current sources even if changes are not detected?

I've run into several situations where TeamCity failed to detect changes: server and repos time was out of sync, mucking around with branches, mucking around with our CVS access controls and repos structure...  There are many ways to cause TeamCity to miss changes.  I don't mind that, but when it happens, I need a way to spin a build and say "Just build from all latest sources, do not try and cherry pick only the updates you know about".  Is there a way to do that?

3 comments
Comment actions Permalink

Usually this is how it works by default, unless you specified quiet period for VCS trigger. I.e. when build starts it checks for the latest changes. But if build was started by VCS trigger with quiet period such build will take sources detected on the moment of build triggering and thus checking for changes stage will be skipped.

0
Comment actions Permalink

I have one build set up on a VCS trigger with a quiet period, but the builds I'm talking about were manually triggered, and they weren't the same build configuration.

And anyway, I don't think the problem is the TeamCity isn't checking for changes...I think it is.  The problem is that TeamCity doesn't always detect the changes.  It seems that when TC starts the build, it uses the cvs history command to see what has changed recently in the repository, and then uses rlog to download just those changesets to the TC server.  If the cvs history command missed something (frequently happens if the repo clock drifts to far from the TC server clock), TC never gets that change.  Or at least, it doesn't get it for a while.  After a couple hours it start including the missing change in new builds.

I'm really just guessing at how TC is pulling changes from CVS, but at least it seems like it does not simply do "cvs co myproject" everytime it does a build.  That's fine, but I'm wondering if there's a way I can force TC to do exactly that sometimes.  Like, could I delete the working directory on the TC server where it keeps it's local exported copy of the project? 

0
Comment actions Permalink

Nevermind.  It seems we've been down this road before, and I just forgot the answer.  I think is the answer, from a bug report about what happens when the cvs history file is not complete:

If situation like this appears again you can easily recover by enforcing clean checkout. To enforce clean checkout you should choose corresponding option from the Actions menu at the build configuration home page. You can also do this per agent at the agent details page.

0

Please sign in to leave a comment.