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

Svn Bug? Cherrypicking a change causes incorrect mergeinfo recording later; breaks reintegrate.

From: Rick Ballard <rick_at_sb.org>
Date: Wed, 20 Jan 2010 17:23:41 -0800

Hello,

I'm hitting what appears to be a bug in subversion. The problem is that I get incorrect subtree mergeinfo after a merge to my branch; the subtree is not recording the merge, and this later prevents reintegrate from working (via "Reintegrate can only be used if revisions [X] through [Y] were previously merged from [URL]..."). It appears that this bug is triggered by a differentbranch->trunk cherrypicking merge earlier in the history of the subtree.

I've distilled this down to a simple test case that reproduces the problem. The attached "cherrypick-mergeinfo-fail-test.sh" script will run the steps necessary to demonstrate. I've also attached the output this script generates as "cherrypick-test-output.txt", so you can see the problem without running the script.

I'm still on subversion 1.6.5 (r38866), but the 1.6.6 CHANGES file doesn't appear to address this. I've tried this on a standard Mac OS X SnowLeopard (10.6.2) system with the system install of subversion.

Is there something I've actually done wrong here that's triggering the problem? Or does this appear to be a bug?

Thanks very much,

        - Rick Ballard

 

Committed revision 1.
Checked out revision 1.
A trunk-wc/subtree
A trunk-wc/subtree/file.txt
Adding trunk-wc/subtree
Adding trunk-wc/subtree/file.txt
Transmitting file data .
Committed revision 2.

Committed revision 3.
A branch1-wc/subtree
A branch1-wc/subtree/file.txt
Checked out revision 3.
Sending branch1-wc/subtree/file.txt
Transmitting file data .
Committed revision 4.
At revision 4.
--- Merging r4 into 'trunk-wc/subtree':
U trunk-wc/subtree/file.txt
Sending trunk-wc/subtree
Sending trunk-wc/subtree/file.txt
Transmitting file data .
Committed revision 5.
At revision 5.

Committed revision 6.

Committed revision 7.
A branch2-wc/subtree
A branch2-wc/subtree/file.txt
Checked out revision 7.
A branch3-wc/subtree
A branch3-wc/subtree/file.txt
Checked out revision 7.
Sending branch2-wc/subtree/file.txt
Transmitting file data .
Committed revision 8.
At revision 8.
--- Merging differences between repository URLs into 'trunk-wc':
U trunk-wc/subtree/file.txt
Sending trunk-wc
Sending trunk-wc/subtree
Sending trunk-wc/subtree/file.txt
Transmitting file data .
Committed revision 9.
###
### Mergeinfo on branch3 pre-merge:
###
Properties on 'branch3-wc/subtree':
  svn:mergeinfo
    /branches/branch1/subtree:4
###
--- Merging r7 through r9 into 'branch3-wc':
U branch3-wc/subtree/file.txt
 U branch3-wc/subtree
 U branch3-wc
Sending branch3-wc
Sending branch3-wc/subtree
Sending branch3-wc/subtree/file.txt
Transmitting file data .
Committed revision 10.
###
### Mergeinfo on branch3 subtree was not set correctly by merge: Should include trunk revisions just merged.
###
Properties on 'branch3-wc':
  svn:mergeinfo
    /branches/branch2:6-8
    /trunk:7-9
Properties on 'branch3-wc/subtree':
  svn:mergeinfo
    /branches/branch1/subtree:4
    /branches/branch2/subtree:6-8
###
### This will cause the next command (a reintegrate) to fail.
###
At revision 10.
svn: Reintegrate can only be used if revisions 7 through 10 were previously merged from file:///Users/rick/Desktop/repos/trunk to the reintegrate source, but this is not the case:
  branches/branch3/subtree
    Missing ranges: /trunk/subtree:7-9

Received on 2010-01-21 03:44:40 CET

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