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

Re: RFC: a permanent svn-specific URL syntax

From: John Locke <mail_at_freelock.com>
Date: 2003-05-28 17:13:43 CEST

On Wed, 2003-05-28 at 04:47, Mukund wrote:

> Please let us keep the URL syntax to something which does not change how
> we know human visible URLs currently.
>
> i.e., if the visible URL currently is:
> http://svn.something.net/repository/project/branch1/file.c
>
> Then please let us keep the (rev, path) pair syntax of the URL similar
> to the above by appending the revision number in some conspicuous way.
>
> http://svn.something.net/repository/project/branch1/file.c@1613
> http://svn.something.net/repository/project/branch1/file.c/1613
> http://svn.something.net/repository/project/branch1/file.c,1613
>
> The above may be bad ideas for syntax -- they are just examples to
> illustrate how the current human visible URL can be kept intact.
>

As a web person, I'm particularly partial to a standard query string for
this--'?variable1=value&variable2=value'

I'd suggest we keep this simple, and use something corresponding to the
svn commands. So for a version, we could either use a human-readable
'version' for the variable, or perhaps better, the equivalent of -r:

http://svn.something.net/repository/project/branch1/file.c?version=1613
http://svn.something.net/repository/project/branch1/file.c?r=1613
http://svn.something.net/repository/project/branch1/file.c?r={2003-04-21}
http://svn.something.net/repository/project/branch1/file.c?r=PREV

This type of organization has the benefit of working well with Apache
authentication--the URL is hierarchical by location, rather than
revision, so you can grant/deny access to particular files/directories
for all revisions.

It seems that you could use this basic scheme to make a web client:

http://svn.something.net/repository/project/branch1/file.c?svn=diff&r=1489:1613
(shows a diff of versions 1489 and 1613)

http://svn.something.net/repository/project/branch1/file.c?svn=proplist&r=1489
(shows the property list for the file as of version 1489)

... and you could even use this scheme for the svn client, using a PUT
or POST to a URL:

http://svn.something.net/repository/project/branch1/file.c?svn=ci&m=comment%20escaped%20for%20query%20string

These variables can be part of the POST, instead of on the query
string...

If the URL schema changed to this sort of organization, it would make
authentication by Apache possible, and relatively straightforward. It
would also make it easy to make a full-fledged subversion web server
client, using PHP or equivalent.

Does this sound like a reasonable solution?

Cheers,

-- 
John Locke
http://freelock.com
Recently published: "Extend the reach of users' email with IMAP"
http://www.techrepublic.com/article_guest.jhtml?id=r00620030507jxl01.htm
Play sports? Check in at http://teamcheckin.com
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed May 28 17:14:48 2003

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.