- From: Julian Reschke <julian.reschke@gmx.de>
- Date: Wed, 5 Mar 2003 09:21:57 +0100
- To: "Brian Korver" <briank@xythos.com>, "'WebDAV'" <w3c-dist-auth@w3.org>
> From: w3c-dist-auth-request@w3.org > [mailto:w3c-dist-auth-request@w3.org]On Behalf Of Brian Korver > Sent: Wednesday, March 05, 2003 2:23 AM > To: 'WebDAV' > Subject: Re: Move and Delete (was: bind draft issues) > > > > On Tuesday, March 4, 2003, at 04:48 PM, Julian Reschke wrote: > [snip] > > A MOVE is a simple namespace operation. All it needs to do is check > > locks. > > > > A DELETE that cleans up in the foreground will need to check delete > > privileges on all descendants. This set can be very huge. I think it's > > an > > extremely bad idea to do this in a single transaction (yes, we tried). > [snip] > > Julian, > > I agree, but I think it's even worse than this. Semantically, > MOVE is merely a simple namespace operation, but in practice > it may be more than that. For instance, a move across unix > filesystems must be implemented as a recursive copy (followed > afterward by delete). Brian, in the Unix API, you don't move at all -- you link() then unlink(). "mv" is just a user command that does it's best when the files reside in different partitions. I think WebDAV MOVE should just fail if the resource cannot really be moved (preserving all dead & live properties), and fail otherwise. Just like in the Unix API, the caller *then* can decide to do a COPY/DELETE instead. Julian -- <green/>bytes GmbH -- http://www.greenbytes.de -- tel:+492512807760
Received on Wednesday, 5 March 2003 03:22:07 UTC