How to guarantee VCS root checkout order?

Hi all,

I've discovered an issue which is causes us problems.

Here is the scenario:

A project template has 3 VCS roots, defined in the configuration in this order:
- Root A
- Root B
- Root C

Server side SVN checkout is selected,

When a team creates and builds a project from this template, it can be seen that when the patch is being built, the logs show that the order of the checkouts is not the order that specified, eg order can be:
- Checkout B
- Checkout A
- Checkout C

Why does this cause us problems? Because Root A contains the stable build scripts - however we would like teams to be able to modify versions of the build scripts so that they can try out changes before committing to the stable branch. So in Root B, they branch files they wish to change from Root A, make their changes, and then the idea was that because Root B is after Root A in the order, any modified scripts they have will overwrite the Root A scripts, allowing them to try out their changes / implement team specific changes.

But - because the order does not seem to be guaranteed when the checkouts are performed, teams sometimes lose any local modifications, as Root A is checked out after Root B, so the agent only gets the files from Root A.

I would have thought that the order should be in the same order that it is in the configuration settings.

Is this a bug, or intended behaviour?

Or.. whilst I am writing this down, perhaps someone has a better way of implementing what we are trying to acheive above?



1 comment
Comment actions Permalink

Hi Chris

I think a preferred way is to have a stable branch and have developers use Remote Run (normally via the teamcity plugin to their IDE). The remote run will be with their local changes against the stable branch (Rest of the code). This way they can evaluate their change without any risk. If the plugin supports pre tested commit, they can check that option, and teamcity will try to commit/push the change, after a successful run.

ziv shapira


Please sign in to leave a comment.