W3C home > Mailing lists > Public > ietf-dav-versioning@w3.org > April to June 2002

Re[2]: Semantic of MOVE between working collections

From: Konstantin Knizhnik <KKnizhnik@togetherlab.com>
Date: Mon, 8 Apr 2002 21:16:15 +0400
Message-ID: <421234424128.20020408211615@togetherlab.com>
To: ietf-dav-versioning@w3.org

Saturday, April 06, 2002, 4:35:59 PM, you wrote:

>> Let's say we have VCR /somedir/foo.txt corresponding to version history
>> /repo/vh/vh1. Now consider the following sequence of requests:
>> 1. Checkout source collection (create working collection)
>> Request:
>>         CHECKOUT <apply-to-version> /somedir
>> Response:
>>          Location: /repo/wr/wr1
>> 2. Checkout target collection (create working collection)
>> Request:
>>         CHECKOUT <apply-to-version> /anotherdir
>> Response:
>>          Location: /repo/wr/wr2
>> 3. Move resource from source to target collections
>> Request:
>>         MOVE /repo/wr/wr1/foo.txt  /repo/wr/wr2/foo.txt
>> 4. Execute locate-by-history report for version history of this resource
>> Request:
>>         REPORT DAV:locate-by-history  /repo/vh/vh1
>> Response:
>>          ???

TE> The DAV:locate-by-history report is applied to a collection to find the
TE> member that is a version-controlled resource for the given version history.

TE> In this scenario, you have two working collections, whose members are
TE> version histories (not version-controlled resources) so the report would be
TE> no use there.

So, PROPFIND with DEPTH=1 for working collection will return set of
version histories, not VCR, right?

TE> Since the MOVE operation was on the working collections, it had no effect on
TE> the checked-in version-controlled collections for the source and target, so
TE> you could use REPORT on the source with /repo/vh/vh1 to find
TE> /somedir/foo.txt

Ok, there are some other things not clear to me in the example above.
So what happens after
   MOVE /repo/wr/wr1/foo.txt  /repo/wr/wr2/foo.txt
(assuming that foo.txt belongs to the version history /repo/vh/vh1)
Binding to MOVE /repo/vh/vh1 is removed from  /repo/wr/wr1
and is added to /repo/wr/wr2, isn't it?
Then, let's say, we checkin /repo/wr/wr1. The VCR foo.txt should be
removed, right?
Then we checkin /repo/wr/wr2. The VCR with name foo.txt referring to
the history /repo/vh/vh1 should be created, right?
But which version this VCR should select in its DAV:checked-in property?
The obvious answer - the same as was selected by foo.txt VCR
before MOVE. But working collection contains only bindings to versions
histories, so there is no way to store information about checked-in

And one more obscure item for me: if we perform MOVE from versioned
collection to not-versioned collection. Is it allowed operation?
What is the result of such operation? For example:

   MOVE /repo/wr/wr1/foo.txt /new.txt

Should new.txt be a new resource (with new resource ID and the same
content as cehcked-in version of foo.txt)? Or it should be foo.txt VCR
itself? Then what is the value of DAV:displayname property of this

Thanks in advance,
 Konstantin                            mailto:KKnizhnik@togetherlab.com
Received on Monday, 8 April 2002 13:21:59 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 20:55:48 UTC