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

RE: Merging Branch to Trunk takes 20 min for one change

From: Bob Archer <bob.archer_at_amsi.com>
Date: Mon, 12 Oct 2009 18:03:19 -0400

> OK, here's what I did:
> 1. Updated (added) the mergeinfo properties manually to trunk/skin in
> WC
> 2. Merged one revision from /branches/3.1/skin to /trunk/skin (to get
> the child properties to elide)
> 3. Verified that mergeinfo properties were elided on all child nodes
> (subfolders and files)
> 4. Committed that merge to /trunk
> 5. Merged range of revisions that were ready to merge from branches/
> 3.1 to /trunk
> And the wonderful news is that it worked! I successfully merged all
> my latest revisions.
> So you have one happy camper here!
> > To really understand this I recommend you read this article:
> > http://www.open.collab.net/community/subversion/articles/merge-
> info.html
> Yes, I did already read that page and even though I have never used
> command line, and a lot of it was over my head, it was still extremely
> useful and helped me grasp the logic of the way merge tracking/
> mergeinfo works
> > Then on the svn list there was a recent topic about mergeinfo elision
> that really is clear that may help you understand what is happening
> here:
> >
> >
> http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessa..
> .
> That is an excellent post. It should be added to your FAQ as there
> seems to be a lot of questions about it.
> >
> > Also, make sure after you reintegrate a branch you either delete it
> or do a --record-only merge on the branch from trunk of the rev that
> was created when you committed the merge into trunk.
> >
> Now that is a very useful tip which I could not find in the Help File
> regarding Merge Reintegrate. In fact, there is very little info on
> Record only. To be certain I understand you clearly, is this what I
> should do?
> 1. Merge Reintegrate a feature branch to Trunk
> 2. On WC of Branch, merge from /trunk - record only
> 3. Choose the revision # of the merge reintegrate
> Does it matter what type of merge I choose? Should I merge using the
> branch folder or from root or does it matter?

(The help basically tells you to delete the branch after you reintegrate.)

Don't forget step 0, merge any trunk changes into your feature branch first. But after than yes, you've got the basic steps.

To answer your question:

You should merge into the branch that you just reintegrated from. What you want to happen is let's assume you just reintegrated from /branches/3.1 to /trunk/skin and you commit your merge to trunk and that commit is r1234. You now right click on your /branches/3.1 WC and choose merge. Select regular merge and select /trunk/silk from the repo browser. Specify r1234 and check tell it record only.

What you should see is a mergeinfo record added to /branches/3.1 of something like /trunk/silk r1234 ... If that is correct commit it. You have basically told svn that /branches/3.1 includes all the changes in rev 1234 of /trunk/silk so the next time you do a merge from trunk, it won't include those revs.

Of course, your use case could be that you are NOT merging from trunk into your branch. If this is the case then you won't be doing reintegration's anyway. That is our basic use case. We dev from trunk and create a release branch. So, we never merge from trunk to our branches, only from the branches back into trunk assuming we fixed and issue on the release branch and want it to go back to trunk.

> BTW, I noticed some people use http. We have been using https. Is
> there any difference in merge performance between them?

I don't think it would make a big difference. But, if you are in a LAN you don't really need to use SSL.

One thing that was mentioned recently on the svn list was someone who has a merge that took an hour. He changed to the svn protocol and it took a few minutes. I think he found that he had HttpKeepAlives set to off which was adding ALOT of overhead to the merge since it makes alot of connections to the server.



To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2009-10-13 23:47:55 CEST

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