views:

49

answers:

0

I've inherited a Subversion repository that has several years worth of feature branches merging to and from trunk. It started as a 1.4 repo, went to 1.5, and is now 1.6. Lotsa history. Unfortunately, it's developed some cruft, and reintegration merges no longer work.

I was looking into it, and it appears that this has something to do with a lot of svn:mergeinfo properties all over the tree. Several individual files deep in trunk have mergeinfo that doesn't appear to be useful, and I think I can safely delete those properties (right?).

The thing I'm not sure about is which svn:mergeinfo properties to remove from the trunk and branches/X directories. The repo/trunk directory has 8 branches listed in its svn:mergeinfo property. Should a Subversion trunk directory have any mergeinfo information at all?

Also, the current branch shares all of those mergeinfo's (presumably because it was copied from trunk) as well as the trunk directory listed.

So here's my theory: I can delete all of the svn:mergeinfos everywhere with the single exception of the reference to trunk in the current feature branch, and it will not have any negative side effects. svn blame will still work correctly, and reintegration merges will start working again.

Does this seem like the right solution?