Re: Copy/Move as they relate to versioned resources

   Date: Tue, 24 Nov 1998 15:05:16 -0700
   From: "Bruce Cragun" <BCragun.ORM2-1.OREM2@gw.novell.com>

   Do we state specifically the behavior of COPY and MOVE when acting on
   a versioned resource versus behavior when acting on a revision?

I believe not.

   As an
   example, if versioned resource A has three revisions, each revision
   has its own unique URL.

At least one, yes.

   If I perform a COPY or MOVE using the URL
   for, say, the second revision, does that just copy or move that
   specific revision?

The "MOVE" should fail (otherwise you've rewritten history in some
bizarre fashion).  Note that a "MOVE" of a *reference* to a revision
(which is what appears in a "workspace") just moves that reference
from one collection to another, and has no effect on the underlying
revision or its versioned resource.

The COPY just acts like a normal COPY of one (non-versioned) resource
to another.

   If so, does that create a new versioned resource?

No.

   And if the operation was a MOVE, is that revision no longer a revision
   in the source revision set?

If we make MOVE fail, we don't have to answer this question.
Note that a DELETE on a revision is allowed (although the underlying
CM engine must be allowed to refuse to carry out the DELETE, if it
doesn't believe in changing history).

   Also, my understanding is that each versioned resource will have a
   unique URL as well as each revision of that versioned resource having
   its own URL.  Is that everyone's understanding?

That certainly is mine, and certainly is my understanding of the
agreement we reached at the last design meeting.

   If so, and I use the
   URL of the versioned resource in a MOVE or COPY, does that move or
   copy the entire versioned resource or do we interpret the lack of a
   version identifier to mean, "this URL refers to the default revision"?

Addressing this problem is one of the reasons I support Jim's original
proposal of a "VPortal" to reference revisions, although I renamed
it a "Workspace", and generalized it to handle versioned collections
(see my earlier "Versioned Collections" message).

In particular, in this proposal, a MOVE or COPY applied to the URL of
a versioned resource results in a move or copy of the entire versioned
resource.  The underlying CM engine must be allowed to cause a MOVE to
fail, if it does not support the movement of versioned resources.
Similarly, both a COPY and a MOVE of a versioned might fail if the
destination "repository" of the method is incompatible with the "source"
repository that contains the versioned resource.

Cheers,
Geoff

Received on Tuesday, 24 November 1998 22:48:35 UTC