[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Some sync merges no more allowed with 1.8 client ?

From: Stefan Sperling <stsp_at_elego.de>
Date: Mon, 8 Jul 2013 13:40:06 +0200

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_at_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_at_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_at_70081' must be ancestrally related to 'svn://......./app/v3-dev_at_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_at_70081 ^/app/v2-dev_at_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).
Received on 2013-07-08 13:40:50 CEST

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.