We have a large project with several sub-projects. We’re approaching a release of our project, and the new features in one sub-project are not going to be completed before the release as was originally planned. What I’d like to do is move all the changes to that sub project related to the new features into a separate branch to continue work for the next release, but I’m not sure how to best accomplish this.
The situation is basically:
/proj/trunk/A/ /proj/trunk/B/ /proj/trunk/C/
We have revisions a..z checked in since the last release. Revisions d, f, g, and j..n contain work related to a new feature in C which isn’t going to be completed in time. Revisions e, h, and q contain unrelated changes in C which need to be in this release. I’d like to create a /proj/branches/new-feature-for-C/ and move changes d, f, g, and j..n there, while keeping e, h, and q in trunk. There is no overlap between changes to be moved to the branch and changes to be kept on the trunk, and none of the changes to be moved to the branch depend on any changes in any other subproject since the last release.
This is how I would do it: Copy the trunk to a branch, then reverse merge the change sets.
so if the trunk is at
http://svnserver/svn/myrepo/trunk/Cand the unwanted change sets are
3, 6 , 9-11Note that the
-r 11:8is one less than the changeset you want to stop at