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

Re: Final(?) Relative Externals format

From: Michael Sweet <mike_at_easysw.com>
Date: 2005-01-26 20:19:53 CET

Greg Hudson wrote:
> On Tue, 2005-01-25 at 14:02, Max Bowsher wrote:
>>Good, I think general consensus is that all 3 forms drawn from RFC2396 are
>>acceptable - so we can split the controversial repository relative
>>discussion off into a seperate discussion.
> Big party pooper here:
> I think the forms drawn from RFC2396 are terribly user-unfriendly, and
> rely on people memorizing a map from obscure leading punctuation to
> semantics.

FWIW, a replacement for RFC 2396 was just published: RFC 3986. I
haven't done an exhaustive comparison, however it does address the
"../" type of relative reference, so all of the following are valid
relative references:

    //host/path (relative to current scheme)
    ///path (relative to current scheme and host)
    /path (absolute filename or same as ///path)
    path (relative URI to current)
    ../path (relative URI to current)

The scheme can be placed in front of any relative reference to
make it a URI (so strictly speaking a relative reference is not
a URI).

> Relative URLs in the context of the web are fairly user-friendly because
> there is no distinction between "the site" and "the repository". So a
> link to "/path" is pretty clearly site-relative. We don't have that
> luxury.
> So I'm -0.5 on the RFC2396 forms. I recommend making everything very
> explicit, using keywords like "site", "repos", and "scheme" at at the
> beginning of the externals (possibly in all-caps in hopes of
> distinguishing the keywords from user path elements, although of course
> user path elements can be in all-caps as well).

In the case of the svn:externals property, I think the URI context
is clear, so we can allow any of the relative reference forms above.

However, when specifying a URI on the command-line, I agree that
the context is not clear and we should require a scheme.

I know I don't have a vote, but "repos" would seem to be unambiguous,
giving us the following acceptable forms:

    file:/path (absolute)
    file:///path (absolute)
    http://host/path (absolute)
    https://host/path (absolute)
    repos://host/path (relative to current scheme)
    repos:///path (relative to current scheme and host)
    repos:path (relative URI to current)
    repos:../path (relative URI to current)
    svn://host/path (absolute)
    svn+ssh://host/path (absolute)

Michael Sweet, Easy Software Products           mike at easysw dot com
Internet Printing and Document Software          http://www.easysw.com
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Jan 26 20:28:03 2005

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.