On Fri, Nov 04, 2011 at 04:52:43PM -0400, Richard Cavell wrote: > Hi, everyone. > > In a URL such as: > > file:///one/two/three/four > > It may be that the repository is actually at /one/two, and the three/four > are directories within the repository. > > How does subversion identify which slashes are virtual and which ones are > real? Does it search each part of the path to see if it's a valid repository, > and then step into it? Is there a way, or a need, to ever tell svn which part > of the URL is real and which is virtual?
It walks the path upwards (starting a 'four') and looks for a directory which contains a file called 'format' and a directory called 'db' on the OS filesystem (not in the versioned tree, of course). This directory is assumed to be the repository root. See svn_repos_find_root_path() in https://svn.apache.org/repos/asf/subversion/trunk/subversion/libsvn_repos/repos.c