On Mon, Jul 08, 2013 at 11:30:28AM +0200, Eric Estievenart wrote: > I'm currently investigating the details and implications of these horrors, > but I feel we are a bit doomed.
You could rewrite history, creating copyfrom pointers in old revisions. Create a new repository, create the common ancestor branch in the first commit, create the other branches as copies, and then replay your existing history on top of that using svnadmin dump/load. See http://svnbook.red-bean.com/en/1.7/svn.reposadmin.maint.html#svn.reposadmin.maint.migrate for more information. That's an involved process. But it should fix your history and make 1.8 clients happy. It might also invalidate all existing working copies, so everyone will need to run 'svn checkout' again... > Daniel Shahaf wrote on Sat, Jul 06, 2013 at 18:00: > > I believe '--ignore-ancestry' is supposed to override this particular check. > > Well, I already tested that, with and without --force, without more success. The --ignore-ancestry switch also disables merge-tracking, which is not ideal in this case. > > The code has changed on 1.8.x@HEAD since 1.8.0[1], so 1.8.1 will behave > > differently. (It will probably just issue a different error message, since > > [1] claims that it didn't change the checks being done.) > So I just compiled a svn (on trunk@1500602), and get the following errors: > > $ svn --version > .... svn, version 1.9.0-dev (under development) .... > $ cd svn/v3-dev > $ svn merge ^/app/v2-dev > svn: E195016: 'svn://......./app/v2-dev@70081' must be ancestrally related to > 'svn://......./app/v3-dev@70081' > $ svn merge ^/app/v2-dev --ignore-ancestry > svn: E200004: Cannot merge automatically while ignoring mergeinfo > > We'll continue our investigations, and keep you updated. You could use the 2-URL merge syntax for the time being: svn merge ^/app/v2-dev@70081 ^/app/v2-dev@HEAD svn/v3-dev That should work since it won't trigger the new "automatic sync/reintegrate merge" logic in Subversion 1.8. However, it also requires you to keep track of the number of the revision number the v3 branch was last synced up to (r70081 in this example).