About COPY Overwrite:T Depth:0

RFC 4918 section 9.8.4 defines overwrite with Depth:infinity (When a
collection is overwritten, the membership of the destination collection after
the successful COPY request MUST be the  same membership as the source
collection immediately before the COPY), but the exact meaning of an overwrite
copy with Depth:0 is not defined.

I would like to know what is the expected behavior of a COPY with Overwrite:T
and Depth:0? i.e. whether /dst/bar exists or not, after the following methods
are executed in order:

MKCOL /src
MKCOL /src/foo
MKCOL /dst
MKCOL /dst/bar
COPY /src to /dst with Depth:0 and Overwrite:F


>From RFC 4918, section 9.8.3: A COPY of "Depth: 0" only instructs that the
collection and its properties, but not resources identified by its internal
member URLs, are to be copied.

The Litmus test suite (v0.13) does not check this behavior. There is a fork of
Litmus that expects the resource to exists after the Depth:0 copy (test
depth_zero_copy in http://github.com/tolsen/litmus/), but the test suite of
PerlDAV v0.45 takes the opposite approach (test 6_dav_copy_move.t). What is
the correct interpretation?


Best Regards

Javier

Received on Thursday, 15 December 2011 00:21:11 UTC