You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by "Peter N. Lundblad" <pe...@famlundblad.se> on 2004/12/13 22:51:14 UTC
Re: svn commit: r12304 - in trunk/notes/locking: . old
On Mon, 13 Dec 2004 sussman@tigris.org wrote:
> Author: sussman
> Date: Mon Dec 13 16:29:44 2004
> New Revision: 12304
>
> Added: trunk/notes/locking/ra_dav_strategy.txt
> Url: http://svn.collab.net/viewcvs/svn/trunk/notes/locking/ra_dav_strategy.txt?view=auto&rev=12304
> ==============================================================================
> --- (empty file)
> +++ trunk/notes/locking/ra_dav_strategy.txt Mon Dec 13 16:29:44 2004
> @@ -0,0 +1,89 @@
> + How we will extend ra_dav/mod_dav_svn protocol for locking feature
> + ==================================================================
> +
> +
> +RA->unlock()
> +
> + * send http UNLOCK request with 1 custom header:
> +
> + - force flag
> +
> + * mod_dav_svn should call authz_read func on path, if it exists.
> +
> + * generate http UNLOCK response: success == "204 no content"
> +
> + - has one custom response header: creation-date
> +
What's the point of this response header?
> + * what if older server? just returns '405 Method not Allowed'.
Those will be translated into SVN_ERR_RA_NOT_IMPLEMENTED.
> +RA->get_commit_editor2()
> +
> + * stash the incoming hash of tokens.
> +
> + * every time we do a CHECKOUT or PUT of a file path, look to see
> + if there's a token available in the hash. If so, put it in the
> + If: header of the request.
> +
> + * send *all* tokens in the If: header of the final MERGE request.
> +
How do you handle keep_locks? Separate UNLOCK requests? Or something extra
for the final MERGE?
Regards,
//Peter
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: svn commit: r12304 - in trunk/notes/locking: . old
Posted by "Peter N. Lundblad" <pe...@famlundblad.se>.
On Mon, 13 Dec 2004, Ben Collins-Sussman wrote:
> >
> >> + * what if older server? just returns '405 Method not Allowed'.
> > Those will be translated into SVN_ERR_RA_NOT_IMPLEMENTED.
>
> Um, I suppose so. Do we already do this throughout ra_dav? I don't
> think we do...
>
Not everywhere AFAIK, but for the new things added in 1.1 (get-file-revs,
get-locations), we do.
>
> >
> >> +RA->get_commit_editor2()
> >> +
> >> + * stash the incoming hash of tokens.
> >> +
> >> + * every time we do a CHECKOUT or PUT of a file path, look to see
> >> + if there's a token available in the hash. If so, put it in
> >> the
> >> + If: header of the request.
> >> +
> >> + * send *all* tokens in the If: header of the final MERGE
> >> request.
> >> +
> > How do you handle keep_locks? Separate UNLOCK requests? Or something
> > extra
> > for the final MERGE?
> >
>
> That's a question I've not figured out yet. I guess we should marshall
> the 'keep_locks' boolan to mod_dav_svn, so that it can potentially
> release locks after the commit succeeds.
>
Currently the other "servers" do explicit unlocks. For ra_svn, it is done
on the server side.
//Peter
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: svn commit: r12304 - in trunk/notes/locking: . old
Posted by Ben Collins-Sussman <su...@collab.net>.
On Dec 13, 2004, at 4:51 PM, Peter N. Lundblad wrote:
>>
>> +RA->unlock()
>> +
>> + * send http UNLOCK request with 1 custom header:
>> +
>> + - force flag
>> +
>> + * mod_dav_svn should call authz_read func on path, if it exists.
>> +
>> + * generate http UNLOCK response: success == "204 no content"
>> +
>> + - has one custom response header: creation-date
>> +
> What's the point of this response header?
Whoops, it's a copy-and-paste bug. :-) There's no point.
>
>> + * what if older server? just returns '405 Method not Allowed'.
> Those will be translated into SVN_ERR_RA_NOT_IMPLEMENTED.
Um, I suppose so. Do we already do this throughout ra_dav? I don't
think we do...
>
>> +RA->get_commit_editor2()
>> +
>> + * stash the incoming hash of tokens.
>> +
>> + * every time we do a CHECKOUT or PUT of a file path, look to see
>> + if there's a token available in the hash. If so, put it in
>> the
>> + If: header of the request.
>> +
>> + * send *all* tokens in the If: header of the final MERGE
>> request.
>> +
> How do you handle keep_locks? Separate UNLOCK requests? Or something
> extra
> for the final MERGE?
>
That's a question I've not figured out yet. I guess we should marshall
the 'keep_locks' boolan to mod_dav_svn, so that it can potentially
release locks after the commit succeeds.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org