I see occasional complaints about the size of mainline merges to branches Most people working on branches are only modifying a very small subset of the files that are in mainline, and certainly not the entire trunk tree.
You guys should be aware that you can simply branch those files you want (or those subdir trees you want), and keep the rest at the same revision as the mainline. IE you can have /branches/my-branch-gccdir -> copy of only /trunk/gcc and use svn switch to switch just your gcc subdirectory to this, while keeping all the other subdirs as mainline. svn knows how to handle this, and will properly keep everything at the right revisions. svnmerge knows how to handle this case, and you will avoid having to do merges of large dirs like libjava, libstdc++, etc at all. If you are just writing a new pass, you can probably get away with branching only a few files, and switching those may be a lot better strategy than branching the entire trunk tree branch to modify 6 files in the gcc dir.