user57508
user57508

Reputation:

How can I reintegrate an already reintegrated and rolled-back branch in SVN?

We did following ugly thing:

svn history

So, how can we achieve another reintegrate?

What did I try so far?

edit:

merge-infos for trunk do not show any merged revisions of the desired branch (as I've rolled them back with r101)

Upvotes: 2

Views: 965

Answers (1)

Adam Crume
Adam Crume

Reputation: 15824

This should be just a special case of a problem I had: Undo reverse merge in Subversion, or double-reverse merge

I'd recommend trying to just rollback r101.

EDIT

Okay, let's say your repo is set up as follows:

svnadmin create mergetest
svn co file:///home/adam/tmp/mergetest mergetest-co
cd mergetest-co/
svn mkdir trunk
svn mkdir branches
svn ci -m "Initial setup"

echo "Hello, world!" > trunk/test
svn add trunk/test
svn ci -m "Initial trunk changes"

svn cp file:///home/adam/tmp/mergetest/trunk file:///home/adam/tmp/mergetest/branches/branch -m "Creating branch"
svn up

echo "Change on trunk." >> trunk/test
svn ci -m "Change on trunk"

svn merge file:///home/adam/tmp/mergetest/trunk branches/branch
svn ci -m "Merge from trunk"

echo "Change on branch." >> branches/branch/test
svn ci -m "Change on branch"

svn up
svn merge --reintegrate file:///home/adam/tmp/mergetest/branches/branch trunk
svn ci -m "Reintegrate merge" # Revision 7                                                                                                                                          

svn merge -c -7 trunk trunk
svn ci -m "Undoing reintegration" # Revision 8

At this point, undoing the undo works: svn merge -c -8 trunk trunk. Also, reintegrating again works: svn merge --reintegrate file:///home/adam/tmp/mergetest/branches/branch trunk. Since your reintegrate was rolled back, there should be no problem with simply reintegrating again. If it doesn't work, my setup must not match your setup, so some other detail must be the problem.

Upvotes: 6

Related Questions