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

Re: WIN32 compability in svn_ra_local__split_URL?

From: <cmpilato_at_collab.net>
Date: 2001-04-27 07:28:18 CEST

"Magnus Sirwi�" <sirwio@hotmail.com> writes:

> >However, this makes me wonder what would happen had you created your
> >repository in a deeper tree. What happens if you do:
> >
> > C:\> svnadmin create C:\svn\repositories\magnus
> > C:\> svn import file:///svn/repositories/magnus . Helloworld
> >
> >Does it work?
> No.
> A file URL given as above suggests that the win32 path to the repository
> would be repositories\magnus or pherhaps \repositories\magnus more on that
> later.

Actually, a file URL given as above suggests that your repository lives at
C:\svn\repositories\magnus, which can be expressed as just
\svn\repositories\magnus if you're current working directory is
somewhere on the C: drive. I hate to be picky, but when the
discussing we're having has a granularity of a single '\' or '/'
character, it's really important to make sure you pay attention to
details. :-)

> The path \ is the root folder of the current drive on M$ systems. So one
> must give the drive in the path mapping in repository path.

This is the case *only* if we try to make ra_local work across Win32
drives, which I'm not sure is a valid thing to do. Branko sez that
file:///C:/svn/repositories/magnus would be the valid format, but I
dunno. I seem to recall browsers using something funky like
file:///C|/svn... perhaps there is some unwritten rule about how to
specify various "volumes" on a single machine? At any rate, I'm
thoroughly uninterested in using What MSIE And Netscape Allow as my
guide for What Is Right -- I mean, have you seen some of the HTML
those programs allow to be displayed?

Unlike Unix systems, there is no single root directory from which all
volumes flow on a Win32 machine. In other words, there is no way to
express any arbitrary path as a relative path from some other
arbitrary location on the same machine. Is a Mac the same way?

Does it seem feasible to say that on Win32 systems, the very
definition of *local* RA access means you can't span drives, and that if you
need to span drives, you need to use Apache/modDAV?

> Where does this leave us in the patching of the svn_ra_local__split_URL
> function. One way is to leave it as is for unix filesystems and remove the
> heading / from the url-path on win32 OR to do it as the spec says and add a
> heading / when opening the berkley db on unix filesystems.
> I might have misinterpreted the spec but I think it is as I suggest above.
> Please be nice if I'm wrong!

No, I think you are technically accurate, but we are depending on APR
to be our portability layer. I hope to be able to claim that there
exists not a single #ifdef WIN32 anywhere in Subversion code -- it is
APR's job to take care of such nasty details.

> How did/does CVS handle filepath/delimiter platform issues? Do we have
> something to learn from CVS?

Um...Karl? JimB? I dunno CVS's innards.
Received on Sat Oct 21 14:36:29 2006

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