We have a standard layout with
tags
branches
trunk
But no code is present in trunk. Trunk has never been used. Instead all work has been done in a branch and once that branch has been considered done a new branch has been created. From now on all releasable code will reside in trunk since that is how every other project we have is set up and that is how we have TeamCity fetch and build all the latest releasable projects when building an install package.
Under branches there exist a 1.0 branch and a foo branch that is branched from the 1.0 branch.
branches
|- 1.0
|- foo
foo is currently being developed on and 1.0 contains the latest released code. My idea was to merge 1.0 with trunk and then, when foo is done, merge that with trunk. Would that pose any issues since it's based on 1.0, which trunk will also be, and trunk might contain other changes not present in foo?
Also, at what point would it be considered safe to delete the 1.0 branch? Straight after 1.0 has been merged to trunk or after foo has also been merged?