Re: How to do a MoveMethod with locks

Stephen Martin <[email protected]> Tue, 01 May 2007 11:19:31 -0400
Newsgroups gmane.comp.jakarta.slide.user
Message-ID <[email protected]>
I can not get this to work without adding the url to the If header, the 
server always responds with a 424 error. Experimenting with cadaver in
debug mode, i found that it likes the tagged version. I've also 
discovered that in order to do the move when both the source and the 
destination are locked, the If: header needs both lock tokens provided 
in the tagged version. Unfortunately the way that the slide code is 
organized, there seems to be no easy way to augment this header for the 
destination.

The requirement for the tagged version of the header maybe a bug in 
mod_dav/mod_svn I don't know.

Julian Reschke wrote:
> Stephen Martin wrote:
> 
>> In answer to my own question, I discovered that the If: header seemed 
>> to be incorrect or at least
>> unacceptable to mod_dav/mod_svn. There are two forms of this header, 
>> one that includes the
>> URL of the request and one that does not. The rfc is unclear (at least 
>> to me) on which of these forms is required
>> for MOVE, but providing the URL made it work for me when the source 
>> file for the MOVE was locked. I've
>> attached a patch, that modifies WebdavResource to provide the longer 
>> form of the header.
> 
> 
> The RFC does not require a specific form. Please check out 
> <http://greenbytes.de/tech/webdav/draft-ietf-webdav-rfc2518bis-18.html#rfc.section.10.4>. 
> 
> 
> You are now using the Tagged-list variant, which should be completely 
> equivalent to the No-tag-list variant, as long as the Request-URI and 
> the thing you put into the tag refer to the same resource. So if this 
> makes a difference with a WebDAV server, it may be a bug in that server 
> (can you provide traces?).
> 
> Best regards, Julian
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>