Reputation: 973
We use SVN for revision control. Main development is done in trunk and branches are created where applicable for each user (when the intended changes are complex).
From time to time, tested versions get tagged (e.g. to /tags/v0.4).
However, it may happen that a severe bug is fixed sometime in trunk (during other development).
Now I want to create a tag /tags/v0.41 which is the same as /tags/v0.4 but only with this single severe bug fixed (possible multiple severe bugs but surely not everything from trunk).
How do I proceed with TortoiseSVN?
I would suggest something like this:
svn copy
) from /tags/v0.4 to /tags/v0.41,But is this a good idea at all?
How do I do the merging from the specific trunk revisions (and nothing else) to /tags/v0.41? In fact, this would not be a tag any more but rather a branch which is not so good somehow...
Upvotes: 4
Views: 2842
Reputation: 1320
The procedure you outlined is the right one.
The branch needs to be created to make sure that only the fix for the specific bug is committed to the new stable version (to trunk) and no additional (and potentially breaking) features are ported by mistake from the development version.
Search the trunk for the commit that specifically fixes the bug you found,
Create a patch from it and apply it to the /tags/v0.41 working copy (or merge just the required trunk revisions into the /tags/v0.41 working copy).
NOTE: if there are multiple commits or there is no commit that just fixes the bug without touching anything else, you'll have to copy the relevant lines of code to the new tagged version by hand!
Upvotes: 6