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