On Fri, Jan 08, 2016 at 08:25:57AM +0100, Philipp Marek wrote: > > Granted, the abort needs to be fixed,
Or not. The library is asserting the expected semantics of its API. The semantics didn't change, just how strictly they were being checked did. > > Ok, during SVN 1.7 development (r957893) moved a bunch of code from > > svn_ra_local__split_URL to a new function, > > svn_uri_get_dirent_from_file_url. When that happened, the assert you're > > hitting was added: > > > > assert(svn_uri_is_canonical(url, pool)); > > > > You're not canonicalizing the URL before passing it into svn_ra_open(). > > You probably want to use svn_path_canonicalize() (or if you can accept a > > minimum SVN version of 1.6, one of svn_dirent_canonicalize, > > svn_uri_canonicalize, svn_relpath_canonicalize) in url__parse instead of > > manually trying to make it canonical. > > > > Granted, the assert is new but it's just asserting the contract of the > > APIs. The URIs were always supposed to be canonicalized. > Yeah, and I even have code that deals with a slash at the end and so on. > > > The other idea is that the requirements have changed - perhaps an UTF8 URL > like > file:///tmp/fsvs-test-1044/repos/trunk/ä-30305/ö-13157/§-2186 > isn't allowed anymore, but the non-ASCII characters have to be encoded? >From what I can tell, that was always supposed to be the case. I'm inclined to close this as the API being used incorrectly. Cheers, -- James GPG Key: 4096R/331BA3DB 2011-12-05 James McCoy <james...@debian.org>