RE: --reintegrate merge problems
From: Brian Rieck <BRieck_at_sandcherry.com>
Date: Thu, 4 Jun 2009 11:55:42 -0600
I thought I'd post some good news for a change. After deleting all the mergeinfo from trunk I was able to create and immediately --reintegrate merge a branch as I would expect. I did have to update trunk after creating the branch because I got the " Cannot reintegrate into mixed-revision working copy" error even though I was at the latest rev, but I don't really see that as a problem and I'm sure someone has a perfectly reasonable explanation for why that is. I'm going to continue investigating. Below is a copy of what I did.
D:\SVP\trunk>svn cp http://svn-backup/sc/SVP/trunk http://svn-backup/sc/SVP/branches/user_branches/test_3 -m"new branch after deleting all merge info"
Committed revision 7098.
D:\SVP\trunk>svn merge --reintegrate http://svn-backup/sc/SVP/branches/user_branches/test_3 .
D:\SVP\trunk>svn up
D:\SVP\trunk>svn merge --reintegrate http://svn-backup/sc/SVP/branches/user_branches/test_3 .
D:\SVP\trunk>svn st
D:\SVP\trunk>svn diff .
Property changes on: .
D:\SVP\trunk> ___________________________________________________________________
D:\SVP\trunk>
-----Original Message-----
Hello,
Trent suggested in a reply to my post on the dev list that he thought that the problem could be caused by self-referential mergeinfo on trunk:
Quoting Trent:
*********
I can see some self-referential svn:mergeinfo against trunk in your attachments. In my situation, any branch that was created when that mergeinfo was present is completely hosed.
Trent.
********************
I have restored Tuesday night's backup to a test server and recreated the problem. Then my plan was to remove the self-referential mergeinfo using a script that Geoff Rowell suggested. The script worked great - thanks Geoff!
So after removing references to trunk in trunk's mergeinfo I:
- committing the prop changes from removing the mergeinfo references to trunk
So unfortunately there is something else or something more happening than just the self-referential merge info on trunk. I find it odd that I would get the "mixed-revision" error even though nothing could have changed on trunk, then doing a no-op svn update makes the error go away. Maybe that is unrelated to the problem at hand but I wouldn't describe my confidence in the health of the repository as high.
As always - thanks for the help so far everyone.
What I'm planning on doing now:
1) Just for the heck of it I'm going to try removing all merge info from trunk on the backup server to see what happens.
2) I'm going to re-restore the repo from backup and verify that the behavior is different before and after removing the self-referential mergeinfo from trunk.
Thanks,
-----Original Message-----
Sorry I missed replying to a couple points at the bottom in the last reply.
-----Original Message-----
-----Original Message-----
On Tue, Jun 2, 2009 at 9:47 PM, Greg Troxel <gdt_at_ir.bbn.com> wrote:
>> We have been having a lot of problems trying to do -reintegrate merges
I agree that this is odd/wrong. Since about 3 seconds passed between the copy and the attempted merge I did skip merging from trunk to the branch before trying the --reintegrate merge. I expected a nothing to happen when I did the merge as the branch and trunk are identical. The reason I tried it at all is because I had a user create a branch, do a small task, merge to his branch from trunk and then try to do a --reintegrate merge back to trunk. He saw tons of conflicts and came to ask me about it. I tried the simplest branch creation and --reintegrate merge scenario I could think of and saw the same problem he did.
>> When doing this I get a ton of conflicts. When I look at the svn status
Hi Brian,
I can't replicate what you are seeing with any simple examples. If
> This is odd; I have been doing reintegrate merges a lot and they've been
We may have discussed this previously in another forum, but refresh me
A) Create branch from trunk_at_100
B) svn merge %trunk_url% branch_wc
C) The mergeinfo on branch is *not* '/trunk:101-200'?
Or do you mean something else entirely?
We have seen these sorts of errors after merging to the branch and commiting the changes from the merge to the branch:
***************
$ svn merge --reintegrate http://svn/sc/SVP/branches/user_branches/rbeach_ulaw .
svn: Reintegrate can only be used if revisions 5595 through 6487 were previously merged from http://svn/sc/SVP/trunk to the reintegrate source, but this is not the case:
********************
> You are saying missing, but not saying if you had done merge of the
We did do the merge from trunk to branch and I agree that there should not be missing ranges.
>
I'm not sure if it is a 1.6 problem. We definitely seen the missing ranges error with both 1.5 and 1.6 although I believe that the time I saw it with 1.6 that the branch was created with 1.5 if that matters. The problem with all the conflicts has only been seen with 1.6 but I can't say with certainty that it is or is not a 1.6 problem.
>
Unfortunately they took away my cattle prod. Seriously though is this a possible cause of mergeinfo getting screwed up? The way I read the svn book is that you shouldn't do this but I have some developers that I think are doing it anyway because they think it should be okay regardless of what I say.
>
The output is always different if a path has subtree mergeinfo. The
$ svn pg svn:mergeinfo $SVN_TRUNK
The second command asks "give me the explicit mergeinfo on trunk and
http://svn/sc/SVP/trunk - /branches/4.1.00_Dev:3-4948
Does that make sense?
Yes that makes sense and after I sent it I started thinking that the svn repo is probably identical because you guys delete your branches after you merge back to trunk. Again I need the cattle prod.
Also, you might want to take advantage of the new -v option to propget
I'll check that out.
> Your merge info looks like you are merging the wrong path. If you have
I would love to clean up any extraneous mergeinfo. I'll start with killing any dead branches. Any other guidance would be very much appreciated as I'm a bit nervous about making things worse.
Subtree mergeinfo in and of itself shouldn't cause problems for
If I'm reading this right it is bad to cherry pick some changes from trunk to a branch unless you eventually merge all of trunk to the branch? I actually thought this was okay.
Paul
------------------------------------------------------
To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_subversion.tigris.org].
|
This is an archived mail posted to the Subversion Users mailing list.
This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.