[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

reintegrate cannot be used error case in SVN 1.8.4

From: Jan Raszyk <jan.raszyk_at_javlin.eu>
Date: Tue, 12 Nov 2013 14:08:36 +0100

Hello guys,

I'm having a trouble with SVN trying to prevent me from merging my
stable (release) branch back to trunk (dev) branch. I'd like to check
with you whether we need to change our merge practices to avoid this
from happening or whether this should be considered as a bug.

How this situation occurred:

trunk-3-3 --B-----------M
              \ \
trunk-3-4 B--B---P----M---!
                   \ \ /
rel-3-4-3 B---P----!

Branch trunk-3-4 was created from branch trunk-3-3 (B), and rel-3-4-3
was created from trunk-3-4 (B). Then one of the developers backported
(cherry-pick) a change from trunk-3-4 to rel-3-4-3 (P). Finally,
trunk-3-3 was merged to trunk-3-4 (M).

Now, I'd like to merge rel-3-4-3 back to trunk-3-4 with latest SVN
(1.8.4) - denoted with ! character. I get the following error message:

svn: E195016: Reintegrate can only be used if revisions 33877 through
34252 were previously merged from https://.../trunk-3-4 to the
reintegrate source, but this is not the case:
   /branches/release-3-4-3
     Missing ranges: /trunk-3-4:34008

Commit 34008 in trunk-3-4 is the one denoted with M - the trunk-3-3 to
trunk-3-4 merge commit.

What I see here is that SVN (wrongly?) assumed that it needs to do a
reintegrate merge - apparently because of the P commit that changed
mergeinfo in branch rel-3-4-3 - because the developer used svn merge to
do the cherry-pick.

So now when merging rel-3-4-3 back to trunk-3-4 SVN tries to do
reintegrate merge while I only need it to do regular merge.

I see a couple of options here: pick revisions that I want to merge
manually or find some other way to force SVN not to use reintegrate.

I can also edit the mergeinfo in rel-3-4-3, delete trunk-3-4 entry in it
introduced with the P commit.

Question is, how do I prevent this situation from happening in the
future? Should I instruct the developers to stop using svn merge for
cherry-picking? Is there some other ways to enforce that reintegrate
won't be used by the auto-merge?

Jan Raszyk
Received on 2013-11-12 14:22:58 CET

This is an archived mail posted to the Subversion Users mailing list.