- From: Clemm, Geoff <gclemm@rational.com>
- Date: Mon, 8 Apr 2002 15:23:33 -0400
- To: ietf-dav-versioning@w3.org
From: Konstantin Knizhnik [mailto:KKnizhnik@togetherlab.com]
So, PROPFIND with DEPTH=1 for working collection will return set of
version histories, not VCR, right?
Right.
TE> Since the MOVE operation was on the working collections, it had
TE> no effect on the checked-in version-controlled collections for
TE> the source and target, so you could use REPORT on the source
TE> with /repo/vh/vh1 to find /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?
Yes.
Then, let's say, we checkin /repo/wr/wr1. The VCR foo.txt should be
removed, right?
Yes (from /somedir).
Then we checkin /repo/wr/wr2. The VCR with name foo.txt referring to
the history /repo/vh/vh1 should be created, right?
Yes (in /otherdir).
But which version this VCR should select in its DAV:checked-in property?
It's up to the server.
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
version.
That's correct. One way a server could know to do the expected thing
would be if both working collections were in the same activity, and
the user checked in the activity as a whole. In this case, the
server could remember information about VCR checked-in versions,
and use those as the versions when creating a new VCR.
Note that this is only an issue with working collections. With
checked-out version-controlled collections, the MOVE actually moves
the VCR, so the DAV:checked-in value just goes along for the ride.
And one more obscure item for me: if we perform MOVE from versioned
collection to not-versioned collection. Is it allowed operation?
Depends on the server. I would expect that most servers would not
support this, but they certainly could do so.
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
resource?
RFC-3253 requires that a MOVE keep all the RFC-3253 defined
properties, so such a MOVE would have to expose the version history
resource itself at the new location (not a new resource, and not a
VCR). It's DAV:displayname would be whatever was the DAV:displayname
of the VCR before the MOVE. A server is likely to restrict the location
of version history resources to be in working collections and its
original server-defined location, which is why such MOVE's are
unlikely to be supported.
Cheers,
Geoff
Received on Monday, 8 April 2002 15:24:11 UTC