RE: error condition for delete of VHR when VCR is in checked-in c ollection

   From: Julian Reschke [mailto:julian.reschke@greenbytes.de]

   > From: Clemm, Geoff
   >
   > If you've deleted the version history, you have effectively
   > trashed any historical references (e.g. in collection versions)
   > to that version history.

   Nope. I have deleted the binding to the version history, not
   necessarily the information itself. In particular, my server may be
   able to reconstruct it upon UNCHECKOUT of the versioned collection
   "/a" (using the same URI).

I'm not sure how an UNCHECKOUT of a VCCl is related to this thread,
since an UNCHECKOUT request has no effect on a version history
resource.  But in any case, postcondition DAV:delete-version-set in
Section 5.6 states that deleting a version history resource deletes
all versions in that version history.  So your server would not be
able to reconstruct the version history once it was deleted.  Note
that the errata issue 14_DIFFERENT_VH_DELETION_SEMANTICS_REQUIRED
clarifies that deleting a member of a working collection just removes
a binding to a VHR, but doesn't delete the VHR.

   > If you are going to let that deletion
   > happen even when there is a VCR for that version history in
   > some workspace, I don't see that it makes any sense to worry
   > about whether or not the collection containing that VCR is
   > checked in or checked out.

   The issue is that RFC3253 doesn't define a method to switch off
   version control on a resource, and therefore people are using
   deletion on VHRs to switch off versioning (I couldn't find any
   mention of this in the spec, though).

I don't recall hearing of this approach, and don't see how it could be
compatible with the spec, giving the DAV:delete-version-set
postcondition.

   This conflates to separate things, but there doesn't seem to be
   better way to do it (please don't say COPY/DELETE/MOVE, because
   this creates a *new* resource).

COPY/DELETE/MOVE is the only interoperable way of removing something
from version control.  If you need a mechanism that doesn't create a
new resource, I'd suggest something like allowing a PROPPATCH to
remove the DAV:version-history property of the VCR, rather than trying
anything related to VHR deletion.

Cheers,
Geoff

Received on Monday, 8 July 2002 18:27:29 UTC