You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Blair Zajac <bl...@orcaware.com> on 2009/06/24 01:27:50 UTC

HTTP v2: public API?

I met some corporate customers today who were wondering if we are  
going to consider HTTP v2 to be a public API?  We will have to support  
the HTTP v2 protocol that gets deployed in 1.7 indefinitely so we will  
always need to deal with backwards compatibility with 1.7 clients and  
hence preserve that API, but are we going to make any guarantees about  
the protocol for future versions?  Are we going to make a statement  
that the protocol is public or private just for svn's use and hands  
off, do not use?

This hasn't been an issue with the svnserve protocol, but it's going  
to be very easy to write a non-svn client that interacts with  
Subversion using the new API.

Also, not that anyone has said this, but I don't think we should ever  
drop the WebDAV protocol as there are shops out there that mount svn  
for web developers or non-SCM aware departments for auto-versioning.   
It's a feature we shouldn't loose.

Blair

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2364760

Re: HTTP v2: public API?

Posted by Blair Zajac <bl...@orcaware.com>.
On Jun 24, 2009, at 6:40 AM, C. Michael Pilato wrote:

> Greg Stein wrote:
>> On Wed, Jun 24, 2009 at 03:27, Blair Zajac<bl...@orcaware.com> wrote:
>>> I met some corporate customers today who were wondering if we are
>>> going to consider HTTP v2 to be a public API?  We will have to  
>>> support
>>> the HTTP v2 protocol that gets deployed in 1.7 indefinitely so we  
>>> will
>>> always need to deal with backwards compatibility with 1.7 clients  
>>> and
>>> hence preserve that API, but are we going to make any guarantees  
>>> about
>>> the protocol for future versions?  Are we going to make a statement
>>> that the protocol is public or private just for svn's use and hands
>>> off, do not use?
>>
>> IMO, "private, use with care." We obviously have to continue to
>> maintain it for our *own* compatibility purposes, but I do not  
>> believe
>> that we (as a community) have signed up to support the protocol to be
>> used *outside* of ra_serf/mod_dav_svn.
>>
>> For example, if somebody writes me an email saying, "I sent a  
>> PROPFIND
>> like <this> to <that> URL, but it didn't work", then I'd say "eh?
>> you're not using libsvn_ra_serf? bah. go have fun on your own."
>>
>>> This hasn't been an issue with the svnserve protocol, but it's going
>>> to be very easy to write a non-svn client that interacts with
>>> Subversion using the new API.
>>>
>>> Also, not that anyone has said this, but I don't think we should  
>>> ever
>>> drop the WebDAV protocol as there are shops out there that mount svn
>>> for web developers or non-SCM aware departments for auto-versioning.
>>> It's a feature we shouldn't loose.
>>
>> Completely agreed, and I don't think anybody has suggested dropping  
>> it
>> for that very reason.
>>
>> We've given up on *DeltaV*, but not on Class 1 and Class 2 WebDAV.
>
> What he said.
>
> I'll add that proper use of HTTP v2 still involves sending an OPTIONS
> request to the server, allowing it to respond with the configured  
> values of
> the various stub URLs, and then using those stubs to build out full  
> URLs.
> Clients may not assume that every server uses the same format for  
> the stub
> URLs, especially as that format is trivially tweakable using  
> mod_dav_svn's
> SVNSpecialURI directive.

Thanks guys.  "private, use with care" sounds good to me.

Blair

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2364998

Re: HTTP v2: public API?

Posted by "C. Michael Pilato" <cm...@collab.net>.
Greg Stein wrote:
> On Wed, Jun 24, 2009 at 03:27, Blair Zajac<bl...@orcaware.com> wrote:
>> I met some corporate customers today who were wondering if we are
>> going to consider HTTP v2 to be a public API?  We will have to support
>> the HTTP v2 protocol that gets deployed in 1.7 indefinitely so we will
>> always need to deal with backwards compatibility with 1.7 clients and
>> hence preserve that API, but are we going to make any guarantees about
>> the protocol for future versions?  Are we going to make a statement
>> that the protocol is public or private just for svn's use and hands
>> off, do not use?
> 
> IMO, "private, use with care." We obviously have to continue to
> maintain it for our *own* compatibility purposes, but I do not believe
> that we (as a community) have signed up to support the protocol to be
> used *outside* of ra_serf/mod_dav_svn.
> 
> For example, if somebody writes me an email saying, "I sent a PROPFIND
> like <this> to <that> URL, but it didn't work", then I'd say "eh?
> you're not using libsvn_ra_serf? bah. go have fun on your own."
> 
>> This hasn't been an issue with the svnserve protocol, but it's going
>> to be very easy to write a non-svn client that interacts with
>> Subversion using the new API.
>>
>> Also, not that anyone has said this, but I don't think we should ever
>> drop the WebDAV protocol as there are shops out there that mount svn
>> for web developers or non-SCM aware departments for auto-versioning.
>> It's a feature we shouldn't loose.
> 
> Completely agreed, and I don't think anybody has suggested dropping it
> for that very reason.
> 
> We've given up on *DeltaV*, but not on Class 1 and Class 2 WebDAV.

What he said.

I'll add that proper use of HTTP v2 still involves sending an OPTIONS
request to the server, allowing it to respond with the configured values of
the various stub URLs, and then using those stubs to build out full URLs.
Clients may not assume that every server uses the same format for the stub
URLs, especially as that format is trivially tweakable using mod_dav_svn's
SVNSpecialURI directive.

-- 
C. Michael Pilato <cm...@collab.net>
CollabNet   <>   www.collab.net   <>   Distributed Development On Demand

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2364935

Re: HTTP v2: public API?

Posted by Greg Stein <gs...@gmail.com>.
On Wed, Jun 24, 2009 at 03:27, Blair Zajac<bl...@orcaware.com> wrote:
> I met some corporate customers today who were wondering if we are
> going to consider HTTP v2 to be a public API?  We will have to support
> the HTTP v2 protocol that gets deployed in 1.7 indefinitely so we will
> always need to deal with backwards compatibility with 1.7 clients and
> hence preserve that API, but are we going to make any guarantees about
> the protocol for future versions?  Are we going to make a statement
> that the protocol is public or private just for svn's use and hands
> off, do not use?

IMO, "private, use with care." We obviously have to continue to
maintain it for our *own* compatibility purposes, but I do not believe
that we (as a community) have signed up to support the protocol to be
used *outside* of ra_serf/mod_dav_svn.

For example, if somebody writes me an email saying, "I sent a PROPFIND
like <this> to <that> URL, but it didn't work", then I'd say "eh?
you're not using libsvn_ra_serf? bah. go have fun on your own."

> This hasn't been an issue with the svnserve protocol, but it's going
> to be very easy to write a non-svn client that interacts with
> Subversion using the new API.
>
> Also, not that anyone has said this, but I don't think we should ever
> drop the WebDAV protocol as there are shops out there that mount svn
> for web developers or non-SCM aware departments for auto-versioning.
> It's a feature we shouldn't loose.

Completely agreed, and I don't think anybody has suggested dropping it
for that very reason.

We've given up on *DeltaV*, but not on Class 1 and Class 2 WebDAV.

Cheers,
-g

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2364770