On 7/8/2010 3:59 AM, Ulrich Eckhardt wrote: > > Of course, the complexity (i.e. memory and time) for a merge operation > increases with the number of revisions and the number of files, but a mere VS > upgrade should only touch projectfiles and maybe a few sourcefiles, all of > which are easy to merge and not too large. >
The repository has history going back more than 10 years. Lots of revisions. The VS upgrade really didn't alter the contents of very many files. I'm thinking the problem is coming from merging trunk->branch. This seems to touch the properties of every single file in the repository and I'm speculating that's what is eating up 8 GB of memory. If I understand this correctly, subversion is adding metadata so it knows what revisions to merge next time I push changes from my trunk to branch. > That said, what we have here is sourcecode that compiles in parallel on VC6, > VC7.1, VC8 and eVC4. All you have to take care of is that the directories for > output and intermediate files (OutDir and IntDir) have an according tag so > that they don't interfere with each other. That's completely off-topic for > this list though... It's offtopic, but still interesting to me. If I had to maintain multiple versions of the project files, I would probably start looking at something like CMake to generate the project and solution files. Without that, it seems very error prone to have to remember to update each version of the project file with every change. My other problem is that our project relies on a rather large third party library. We have the include and lib files as a subproject living under the solution dir. I don't want the merge to recurse into this one directory: + Main Solution Dir - sub project 1 - sub project 2 - 3rd party project I've thought about moving the 3rd party project directory to a different place in the repository and using an external directive, but I'm really trying to avoid using them. They're evil, right? The other "fix" I've thought about is having multiple 3rd party projects. + Main Solution Dir - sub project 1 - sub project 2 - 3rd party project VS2008 - 3rd party project VS2010 Cory