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

svn relocate fails due to bad char at end of url_uuid->uuid

From: John McNelly <john_at_mcnelly.org>
Date: 2007-11-09 22:32:40 CET

I am using SVN 1.4.5.25188 (client and server). I have mirrored a
repository, being sure to set the UUIDs to match. In order, I:

        svnadmin create {mirror}
        {install hooks to discourage user checkins to mirror}
        svnadmin load --force-uuid {mirror}
        svnsync init {mirror} {original}
        svnsync synchronize {mirror}
        svnadmin verify {mirror}

Then I set up the mirror with svnserve, went to another machine, and
tried to switch my trunk from the master repository to the mirror.

But no matter what I try, "svn switch --relocate" gives me an error:

-------
C:\chrystal\trunk>c:\svn-win32-1.4.5\bin\svn.exe switch --relocate
svn://delmar/trunk svn://elvis/trunk
'vn: The repository at 'svn://elvis' has uuid
'd75c9f23-f8df-ea4e-b07c-7fd4dbb7d0ff', but the WC has
'd75c9f23-f8df-ea4e-b07c-7fd4dbb7d0ff
-------

To digress, there's a formatting issue with the error message, both
the first and last character are wrong:
- first char should be "s" not "'"
- last char should be "'"
But BoundsChecker doesn't report any memory smashes, so I guess it's cosmetic.

The main point is that the error message shows the UUIDs are the same.

So I downloaded the symbols/etc, and set a breakpoint at
libsvn_client\relocate.c (lines 104-108):

   /* Make sure the UUIDs match. */
   if (uuid && strcmp(uuid, url_uuid->uuid) != 0)
     return svn_error_createf
       (SVN_ERR_CLIENT_INVALID_RELOCATION, NULL,
        _("The repository at '%s' has uuid '%s', but the WC has '%s'"),
        url, uuid, url_uuid->uuid);

The debugger says that uuid and url_uuid->uuid are the same, except
that url_uuid->uuid has a trailing 0x0d (line ending). See attached
JPG.

Working backwards:
        url_uuid->uuid comes from ra_uuid (relocate.c line 93)
        ra_uuid comes from svn_ra_get_uuid (relocate.c line 93)
        at which point I got a symbols issue and stopped

Is this a known issue?

I was not sure where to post the screen grab of the debugger session,
so it is on:

        http://mcnelly.org/svn/svn-relocate.jpg
        http://mcnelly.org/svn/svn-relocate.txt

Give me the OK and I'll file an issue.

Thanks,
/ John (mcnelly.org)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Nov 12 23:59:53 2007

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