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

Attachment: cherrypick-mergeinfo-fail-test.sh
Description: Binary data

 
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

Reply via email to