I am new to SVN and am using VisualSVN with Visual Studio.
While reading the SVN Book, I was surprised when I read this:
Once a --reintegrate merge is done from branch to trunk, the branch is no longer usable for further work. It's not able to correctly absorb new trunk changes, nor can it be properly reintegrated to trunk again. For this reason, if you want to keep working on your feature branch, we recommend destroying it and then re-creating it from the trunk
After further reading, I understand the technical reason behind this statement, and it makes sense. But I'm wondering whether this would be a hassle if you had to revisit a branch to fix a bug.
Here is a scenario that I have had: Branch V1 is deployed to production and working well, so I merge it into trunk. I then create a new branch V2, and start development of new features and code changes to the app.
I then learn about a bug in V1 that was identified in production. I want to "switch" to the V1 branch fix the bug, and prepare a new V1 release for production.
I then switch batch to V2 and resume coding. The next day, I am informed about some other issue in production that needs to be fixed ASAP. I want to switch back to V1 again, fix the issue, and prepare a new V1 release. Then switch back to V2.
Eventually, I would merge the additional V1 changes into trunk or into the V2 branch--I haven't tested that yet, so I'm not sure of the best approach.
But in this scenario, if I use --reintegrate when originally merging the V1 branch into the to trunk (and then deleting the V1 branch), my understanding is that I would need to resurrect V1 to make fixes. This seems like a bit of a hassle, and introduces additional steps that could introduce human error (e.g. if I chose the wrong revision when resurrecting).
So I then saw the SVN Book section on "Keeping a Reintegrated Branch Alive". This seems appealing in my scenario, as it would appear to allow me to safely persist my V1 branch.
So is there any downside of Keeping a Reintegrated Branch Alive? It seems like keeping it alive would be more convenient, and I can't think of any obvious downsides.
Does anyone keep a reintegrated branch alive? Or do you always delete merged branches and then resurrect only when necessary?