[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: Hyrum K. Wright <hyrum_wright_at_mail.utexas.edu>
Date: Fri, 21 Nov 2008 13:49:20 -0600

Hyrum K. Wright wrote:
> Daniel Shahaf wrote:
>> 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__)
>
> Daniel,
> Thanks for looking into this, I'm testing the patch now. I'll let you know in a
> few hours whether or not it works.

With this patch, the entire load completed without incident.

-Hyrum

Received on 2008-11-21 20:49:41 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.