> -----Original Message----- > From: C. Michael Pilato [mailto:cmpil...@gmail.com] On Behalf Of C. Michael > Pilato > Sent: dinsdag 11 januari 2011 22:16 > To: Subversion Development > Subject: Canonicalizing relative URLs > > I'm looking at issue #3601, and am reworking the way that > svn_uri_canonicalize() behaves -- namely, I'm teaching it to normalize the > case of hex-digit pairs (of the "%AB" variety) for all URIs, not just URLs. > (Currently, it does this only for URIs with scheme data.) But I find > myself with a small problem: what to do about calls like these in > svn_wc_parse_externals_description3():
Wait! The current intention is only to use svn_uri_*() for URLs. Relative paths should use svn_relpath_*(). So you are trying to fix a deprecated case. The remaining issue was that we still had the "/some/path" style paths, that aren't dirents, aren't relpaths and aren't urls. Julian fixed this with the svn_fspath__*() apis. This allows completing the conversion from svn_path_* by making svn_uri_ only usable for url paths. Once this is handled we can fix the _join() and _basename() functions for all path formats to only accept relpaths. (For svn_uri this can then handle the uri escape/unescape that had to be handled by callers before) Bert