We have the following scenario:
* We use git as VCS
* Development is done on master branch
* Releases are branched into r/* (e.g. r/1.0.0)
* All build configurations monitor master and +:/refs/heads/r/*
* We use a pull based system with snapshot dependencies.
* The "ultimate target" for all checkins is "Installer", which correctly triggers its upstream configurations.
* We have a manual step, "Publish" that pushes the installer to an external site. It should not happen on every build, but only when it's time for the bits to leave R&D.
* I understand that manually running a configuration will trigger it on the default branch.
* Therefore, we added configuration "Publish v1.0.0", which has a separate VCSroot with the default branch refs/heads/r/1.0.0. It has a snapshot dependency on Installer and artefacts from the same build chain.
Exp: When I manually run "Publish v1.0.0" the artefacts should be served up (from storage or rebuilt) on the r/1.0.0 branch
Act: When I manually run "Publish v1.0.0" the artefacts are sucked in from _master_ branch. (i.e. the default branch for the upstreams, but not the default branch for the requested configuration).
We're using TC7.1.3.
One work-around would be to go back to the stone age days and clone the entire project when we make a new release branch. That is not desired from an administrative point of view.
I would like to be able to add only a new "Publish vX.X.X" configuration in the same project whenever we branch, and have that configuration, when ran manually, to follow the dependency chain of its defined master branch (or commit ID - that would amount to the same thing, I guess).
Thus, my question: How do I accomplish avoiding having to duplicate the project given the above scenario?