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

Merge problem: "path not found" error, SVN 1.5.5

From: Marc Strapetz <marc.strapetz_at_syntevo.com>
Date: Wed, 04 Mar 2009 13:08:52 +0100

With SVN 1.5.5, for certain conditions merge code accesses "future"
target revisions and hence can fail with "path not found" error. Example
(maybe it's not minimal, but it's reproducible in this way for us):

r29: A copied to B
r30: B/dir/file copied to B/dir2/file
     B/dir/file removed
r31: ... non-relevant changes
r32: ... non-relevant changes
r33: Merged changes from B back to A,
     especially A/dir/file gets removed.
r34: B removed

Now, when checking out A at r32 and trying to perform following merge:

  svn merge http://host/B/dir2/file@33 -r33:29 ./dir/file

it fails with:

  svn: File not found: revision 33, path '/A/dir/file'

So, although I'm at r32 in my local working copy, svn tries to access
r33 of my (in repository already removed) working copy file and fails. I
think r33 shouldn't be accessed in this case and so far we figured out
that get_full_mergeinfo() in libsvn_client/merge.c:2424 is responsible
for that problem:

  /* Our underlying APIs can't yet handle the case where the peg
     revision isn't the youngest of the three revisions. So we'll
     just verify that the source in the peg revision is related to the
     the source in the youngest requested revision (which is all the
     underlying APIs would do in this case right now anyway). */
  if (target_rev < start)
    {
     ...
      SVN_ERR(svn_client__repos_locations(&start_url, &start_revision,
                                          NULL, NULL, ra_session, url,
                                          &pegrev, &requested,
                                          &unspec, ctx, pool));
     ...
    }

--
Best regards,
Marc Strapetz
_____________
syntevo GmbH
www.syntevo.com
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=1266499
Received on 2009-03-04 13:38:15 CET

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

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