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

RE: svn commit: r916286 - in /subversion/trunk/subversion/mod_dav_svn: dav_svn.h mirror.c mod_dav_svn.c

From: Kamesh Jayachandran <kamesh_at_collab.net>
Date: Fri, 26 Feb 2010 22:52:43 +0530

>> I could not see the difference between "svn_uri_canonicalize()" and
>> svn_dirent_canonicalize() for the above configuration, by the way both
>> fails while proxying.
>> I have an upcoming local patch in progress attempting to fix the same.

>Is it a local disk path?


>If no, then never use svn_dirent_*() on it.
>(If yes, always use svn_dirent_*() on it)


>svn_dirent_*() has platform dependent behavior.
>You might not see it on your OS, but the canonicalization rules for dirents are defined by your platform.

>Just a few simple examples:
>The canonical format of 'a:/':
>* On linux: 'a:' (never end a path with a '/', except for the root directory)
>* On Windows: 'A:/' (Drive letters always uppercase and in this case followed by a '/', as 'A:' refers to the current directory on drive A:)

>'C:hi' is a dirent to the file named 'C:hi' on Linux, but on Windows it is a dirent pointing to the file 'hi' in the current directory of drive C:.

>If you use svn_uri_*(), these paths are handled the same, which is most likely what you want. The <Location> tag defines the path space on your >webserver.

Thanks for the explanation.

With regards
Kamesh Jayachandran
Received on 2010-02-26 18:27:31 CET

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