- From: <Tim_Ellison@uk.ibm.com>
- Date: Thu, 16 Nov 2000 10:00:41 +0000
- To: Greg Stein <gstein@lyra.org>
- cc: ietf-dav-versioning@w3.org
<Greg>
We need to be able to do a CHECKOUT on a collection version so
that we can perform operations within the collection and on the
collection itself.
In Subversion, I've been planning to do a CHECKOUT on a parent
collection version resource, which will return a location such
as:
http://host.name/repo/$svn/wrk/100.3
I can then do the following:
PUT http://host.name/repo/$svn/wrk/100.3/newfile.html
</Greg>
<tim>
This makes sense for a checked out collection version selector, but not a
checked out collection version. A collection version only has bindings to
version histories (section 12.6). In your example, the newly created
resource (using PUT) would not be a version history, indeed it would not be
version controlled (unless the server version controlled _every_ resource).
</tim>
<Greg>
or even:
COPY http://host.name/repo/somedir/foo.c
Destination: http://host.name/repo/$svn/wrk/100.3/foo.c
(or a MOVE if the source's parent is checked out)
</Greg>
<tim>
This would also be a violation of the semantics of versioned collections
since the source is not a version history -- and even if you did attempt to
copy a version history over that would fail with </DAV:cannot-copy-history>
(Section 15.7) <g>
</tim>
<Greg>
The working resource for the collection is also handy for deleting
or for replacing the collection:
DELETE http://host.name/repo/$svn/wrk/100.3
(note that this request also requires a checked-out parent)
COPY http://host.name/repo/somedir/
Destination: http://host.name/repo/$svn/wrk/100.3
Overwrite: T
</Greg>
<tim>
I agree that DELETEing members would be possible. COPYing would not for
the reasons given above.
</tim>
<Greg>
DELETE of a member is a CHECKOUT of two items: the thing to DELETE
and the parent collection.
</Greg>
<tim>
It is unnecessary to CHECKOUT the thing being DELETEd since it is not
modified by the DELETE method, only the parent collection is modified (by
loosing an internal member).
</tim>
<Greg>
Without being able to do a CHECKOUT on a collection, there wouldn't
be a way to do any of the above.
</Greg>
<tim>
The operations you describe are more appropriate to a checked out
collection version selector; and I agree that they are essential.
</tim>
Tim Ellison
Java Technology Centre, MP146
IBM UK Laboratory, Hursley Park, Winchester, UK.
tel: +44 (0)1962 819872 internal: 249872 MOBx: 270452
Received on Thursday, 16 November 2000 05:03:52 UTC