I am surprised at how long it takes to merge a very small change from any particular branch into trunk; 1-2 minutes to merge in a few lines of text that have changed in a single text file that is only 2k long.
I would like, if possible, to make merging a hell of a lot faster but don't know where to start. I have done a quick google and the possible reasons for slow merges seem to include any and all of the following: -
- Large repo size (both in terms of size on disk and number of revisions).
- Large source tree (apparently SVN has to crawl down the tree in order to work out changes)
- The version of SVN server / client
- Very large (several MB) files (we don't have very large single files so I doubt this affect us)
I guess I really want to know how to find out which of the above points are making merges so slow.
Right now I am in the dark as to whether it is work on the client or work on the server that is taking the most time (well I suspect it is the client since CPU usage is not massive on the server). I did think that it might be the vast amount of mergeinfo that has accumulated over 100s of merges but I have done a test where I have deleted all the merge info from a couple of branch and then did a merge and found the same slowness.
So what I would like to ask is: - * How would one go about diagnosing/profiling the SVN activity? * Based on the info below, is there something really obvious that will be causing the poor performance?
Thanks
Chris
Here are some facts / figures about our SVN setup
- Our SVN repository has around 32000 revisions.
- Repo size on disk: 8.3GB
- Our development branches each have around 1400 versioned folders (19,000 versioned files)
- SVN Server: 1.6.6 (r40053) (hosted in Apache running on Ubunto Lucid Lynx)
- I am using tortoise 1.6.9 on Win7 (although other members of the tea