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

Re: Failed assertion while loading pre-1.6 dumpfile

From: Daniel Shahaf <d.s_at_daniel.shahaf.name>
Date: Fri, 21 Nov 2008 00:39:51 +0200 (Jerusalem Standard Time)

Daniel Shahaf wrote on Thu, 20 Nov 2008 at 23:50 +0200:
> Hyrum K. Wright wrote on Thu, 20 Nov 2008 at 15:28 -0600:
> > lt-svnadmin: subversion/libsvn_subr/path.c:106: svn_path_join: Assertion
> > `svn_path_is_canonical(component, pool)' failed.
> > * adding path :
> > tomcat/watchdog/trunk/src/clients/org/apache/jcheck/jsp/client/.: ...Aborted
> ^^
>
> Note that the colon is literally part of the filename:
>

What happened: svn_path_is_canonical() called svn_uri_is_canonical(),
which stopped on the colon as a scheme separator, and later considered
the segment as '.' (rather than as '.:') and thus concluded the path was
non-canonical.

Try this patch:

Index: subversion/libsvn_subr/dirent_uri.c
===================================================================
--- subversion/libsvn_subr/dirent_uri.c (revision 34291)
+++ subversion/libsvn_subr/dirent_uri.c (working copy)
@@ -1083,6 +1083,7 @@ svn_uri_is_canonical(const char *uri)
   if (*uri == '\0')
     return TRUE;
 
+ /* Maybe parse hostname and scheme. */
   if (*ptr != '/')
     {
       while (*ptr && (*ptr != '/') && (*ptr != ':'))
@@ -1121,6 +1122,12 @@ svn_uri_is_canonical(const char *uri)
               ptr++;
             }
         }
+ else
+ {
+ /* Didn't find a scheme; finish the segment. */
+ while (*ptr && *ptr != '/')
+ ptr++;
+ }
     }
 
 #if defined(WIN32) || defined(__CYGWIN__)

> > The error occurs when loading r229801 from the dump file available here:
> > http://svn.apache.org/dump/

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-11-20 23:40:03 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.