We use svn for our code versioning.
Our repo layout has a number of feature branches for new features we are developing, bug fixes etc.
We also have another branch called integration which is where we merge the feature branch code into when we are ready to do a release candidate build.
So far I have set up a Continua project, which points to the integration branch. Various build stages include unit tests (compiling, executing, evaluating), deployment to the dev server, and running a set of automated tests against the product’s API.
I’d like to have some way of being able to clone the Continua configuration when we create a new feature branch, and point this to the new svn branch, so that the build logic can be executed automatically when a code checkin is made to the feature branch.
When viewing a configuration or build, there is a Clone Configuration option in the Tasks menu.
This brings up a dialog for naming and locating the cloned configuration:
If your repository is set to pick up multiple branches, then you can use the Branch Mappings under the Repositories section of the Configuration Wizard to set the default branch to use when running builds for the cloned configuration.
We generally recommend doing this only sparingly, in situations where the workflow varies significantly between branches, or to allocate different user permissions to each branch configuration. Maintaining a large number of similar configurations can be a time consuming and can have an effect on database size and performance. An alternative would be to use variables and flow control actions, such as If and Else, in a single configuration, to select actions based on the current branch. e.g. $Source.RepoName.Branch$