Best method to organize/manage dependencies in the VCS within a large solution

Posted by SnOrfus on Programmers See other posts from Programmers or by SnOrfus
Published on 2012-12-07T20:28:10Z Indexed on 2012/12/07 23:43 UTC
Read the original article Hit count: 386

A simple scenario:

  • 2 projects are in version control
    • The application
    • The test(s)
  • A significant number of checkins are made to the application daily.
  • CI builds and runs all of the automation nightly.

In order to write and/or run tests you need to have built the application (to reference/load instrumented assemblies). Now, consider the application to be massive, such that building it is prohibitive in time (an entire day to compile). The obvious side effect here, is that once you've performed a build locally, it is immediately inconsistent with latest.

For instance:

If I were to sync with latest, and open up one of the test projects, it would not locally build until I built the application. This is the same when syncing to another branch/build/tag. So, in order to even start working, I need to wait a day to build the application locally, so that the assemblies could be loaded - and then those assemblies wouldn't be latest.

How do you organize the repository or (ideally) your development environment such that you can continually develop tests against whatever the current build is, or a given specific build, while minimizing building the application as much as possible?

© Programmers or respective owner

Related posts about version-control

Related posts about development-environment