Reputation: 73
We have a feature that needed to be disabled from the production (trunk) copy while it's refined. It was disabled in revision 22, graying out relevant menus and buttons and adding some text explanation of the feature being disabled.
We'd like to make a branch that has that feature re-enabled, for testing and limited production purposes. We could effectively do this by 'undoing' or 'deleting' the changes from rev 22, but we only want to do that on a branch for now and want to keep the feature disabled on the trunk.
The trunk continues onward since the rev 22 but changes since then are unlikely to conflict with the disabled code.
What's the simplest way to get a branch that matches the trunk except without having the changes of revision 22? Secondarily, would it be possible to update the branch to match the trunk as needed when the trunk is updated, while still keeping the branch without rev 22?
Eventually we'll re-enable this feature on the trunk, removing rev 22 changes from the trunk itself. We intend this branch as a temporary way to do so early for internal use, while keeping the feature disabled (rev 22's purpose) on the trunk until the feature is ready.
Upvotes: 1
Views: 285
Reputation: 2304
So what you're going to do is make a branch of the trunk where it currently stands (based on your explanation, I assume you want everything out of the trunk except this one particular revision).
Then once you have made your branch off of the trunk either
svn switch
to your new branch, or Your choice.
Then right click on the folder you checked out and go to TortoiseSVN > Show log. After the log is open you should see the revision history up until this branch was created. If you don't see the complete history, uncheck the box that says Stop on copy/rename
.
Then it's a matter of simply going to revision 22 in the log, right clicking on it, select Revert changes from this revision
. And then you should have modified files in your working copy. After this step:
As for your second question, yes. You can perform svn merge
s periodically as you develop to keep your branch up to date. In TortoiseSVN it's TortoiseSVN > Merge...
Upvotes: 2