Reputation: 1863
As the title says that is my sequence of versioning. I am using Tortoise SVN client. The repository is a file on a network share.
I have Trunk
and Branch
folders.
I checked out from the Branch
and did a lot of modifications and checked back into the Branch
.
However, due to unfamiliar with merging with the Trunk
, I always publish my good project code to production directly from the Branch
.
The last production release was 3 months ago. The revision is 380.
My development release is now at 400.
Last week I had to fix some bug in the R380
. So I checked R380
out and fix the bugs and release it again.
However, I need to get all that code to the development version R400
, but I don't want to wipe out my last 3 months worth of work.
In addition, there are certain buggy portion of code in the R400
that I cannot check in. Can anyone show me how to get this done correctly?
I made a Bugfix folder and tried to check R380
into that folder, but SVN client does not allow me to SWITCH
or RELOCATE
.
It will only allow me to check into the Branch
folder. I am afraid that if I check in the revised R380
to Branch
folder, it will wipe out my R400
version. Thank you.
Upvotes: 1
Views: 74
Reputation: 1324937
As mentioned in "Subversion feature branch requires changes from another feature branch", you can merge only a precise range of revision back into your branch.
You can generate a patch from the modifications you did in trunk
.
If you need, you can first create a temporary branch from r380
, remove the buggy part you don't want, then generate said patch, and apply it to 'Branch
'.
svn diff -r448:449 > ~/global.patch
patch -p0 < ~/global.patch
(although the question "How to make svn diff produce file that patch would apply, when svn cp or svn mv was used?" reports some case whare that doesn't work, especially if there are property changes between branches)
Upvotes: 1