We help IT Professionals succeed at work.
Get Started

SVN: Keeping a Reintegrated Branch Alive

733 Views
Last Modified: 2015-04-18
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?
Comment
Watch Question
CERTIFIED EXPERT
Commented:
This problem has been solved!
Unlock 1 Answer and 13 Comments.
See Answer
Why Experts Exchange?

Experts Exchange always has the answer, or at the least points me in the correct direction! It is like having another employee that is extremely experienced.

Jim Murphy
Programmer at Smart IT Solutions

When asked, what has been your best career decision?

Deciding to stick with EE.

Mohamed Asif
Technical Department Head

Being involved with EE helped me to grow personally and professionally.

Carl Webster
CTP, Sr Infrastructure Consultant
Ask ANY Question

Connect with Certified Experts to gain insight and support on specific technology challenges including:

  • Troubleshooting
  • Research
  • Professional Opinions
Did You Know?

We've partnered with two important charities to provide clean water and computer science education to those who need it most. READ MORE