I have seen the following questions Auto Branching in svn using teamcity, TeamCity push feature branches to master branch, Can TeamCity branches concept be applied to Subversion with Build Chains? and none of them seem to answer my question.
I have a svn structure like below
- SVN
- Framework
- Visual Studio Solutions that produce dlls. Runs on checkin
- Plugins
- Visual Studio Solutions that produce dlls that depend on the Framework outputs.Runs on checkin
- Libraries
- Visual Studio Solutions that produce dlls that are used by the framework and plugins. Runs on checkin
- Products
- Visual Studio Solutions that assemble a number of plugins and framework dlls. Runs nightly
The question is I want to be able to label (tag) all the source that went to creating a particular product build. This means a means of identifying all the plugin,framework and library labels and possibly storing them in some manner so we can recreate the product build if required.
For example, I have two plugins A & B that generate dlls that are stored in some nuget repo. These two dlls are put together into the same output folder by a product build every night. Each night before the product build runs I want to basically take a snapshot of the repository so I can go back to the source that generated the nugets that are contained within the product build.
This cant be done manually because there are 124 plugins, 6 libraries and 5 framework libraries that contribute to a product build each night.
The idea would be to only store it for a month after deployment so as not to use up lots of space. How would I accomplish this with SVN and TeamCity?