Understanding Snap Shot Dependency Source

I am having trouble understanding Snap Shot Dependencies and Sources.

I am reading http://confluence.jetbrains.net/display/TCD7/Dependent+Build#DependentBuild-SnapshotDependency.

With the example discussed in the above link:

2. When the build B starts to run on the agent, TeamCity adjusts the sources to include in the build A at this exact moment. All builds will be run with sources taken on the moment the build B started to run on a build agent.

If the build configurations connected with snapshot dependency share the same set of VCS roots, all builds will run on the same sources. Otherwise, if the VCS roots are different, changes in the VCS will correspond to the same moment in time.

What is meant by "adjusts the sources to include in the build A at this exact moment"?

Does this mean that when B starts and downloads the source from github and puts it in B's agent's work directory IT ALSO puts the SAME SOURCE in A's agent's work directory?

1 comment
Comment actions Permalink

No, it means it will use version control operations to ensure that no changes in A will be used which have occurred after the latest change included in B. In other words, it will ensure that the latest changes in A, but which are no younger than any change included in B, are used in the build. Think taking a "snapshot" of all VCS roots participating in the build chain, taken at the moment the first build of the build change begins to run.


Please sign in to leave a comment.