Re: DAV:cannot-copy-collection-version precondition for COPY
Geoffrey M Clemm <[email protected]> Tue, 22 Aug 2006 21:40:59 -0400
| Newsgroups | gmane.ietf.deltav |
|---|---|
| Message-ID | <OFCFB0CC4A.5F9CFF67-ON852571D3.0008B13C-852571D3.00093FA9@us.ibm.com> |
This is a multipart message in MIME format. --=_alternative 00093EF3852571D3_= Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: quoted-printable COPY has to obey the semantics defined for it by RFC-2518 (so that an=20 RFC-2518 client can interoperate with an RFC-3253 server), or must fail. Since a collection version is a resource with no members, the result of a=20 successful COPY of a collection version would have to be the creation of a = destination resource with no children. Since this is unlikely to be the=20 behavior that a versioning client would want, the COPY request is defined=20 to fail. Cheers, Geoff Werner wrote on 08/22/2006 04:24:25 PM: > I thought that a version of a collection represented the state of > that collection at a certain point. So the=20 version-controlled-binding-set, > which is a collection version property, contains the binding names > that correspond to the members of the collection at that version. > If collection /a has members b and c at a certain point, then the > version of the collection corresponding to this would have binding > names b and c. >=20 > Given a version of a VCR, a system can find that VCR. If our VCR is > collection /a and if we have binding names b and c in the collection > version, we can reconstruct /a/b and /a/c. Now we have enough to > create a new collection with members b and c. >=20 > I don't find that very strange. What is the difference between copying > a collection version to another collection, leading to a new version > controlled collection in the latter, and copying a version controlled > collection with a label header. Precondition=20 must-select-version-in-history > in section 8.7 results in some collection version to be used for the > copy. I could also have specified that collection version directly in > the request URI. =20 > Geoffrey M Clemm wrote: > > It sounds like you are suggesting that the result of the copy depend=20 on > > what is in the target of the copy? That would be very strange "copy" > > behavior (i.e. the result of the copy should only depend on the source > > of the copy). Collection versions are for use by "merge" and=20 "update". =20 > > Werner Donn=E9 <[email protected]> wrote on 08/22/2006 10:59:59 AM: > >> A collection version has the names of its version controlled bindings > >> and their version history. It is then possible to find the checked-in > >> version of the members, which is what is used also when a collection > >> is copied. > >> Geoffrey M Clemm wrote: > >> > A collection version does not have enough information in it to=20 produce a > >> > sensible copy, since it only records the version history of its=20 members, > >> > not the versions. So a collection version is useful for updating a > >> > configuration, but is not useful for creating a new configuration > >> > (that's what baselines are for). > >> > Werner wrote on 08/22/2006 06:34:16 AM: > >> >> Why should the request fail if the source is a collection version? > >> >> It seems to me that any version is as good as the checked-in=20 version > >> >> to copy from. --=_alternative 00093EF3852571D3_= Content-Type: text/html; charset="ISO-8859-1" Content-Transfer-Encoding: quoted-printable <br><tt><font size=3D2>COPY has to obey the semantics defined for it by RFC= -2518 (so that an RFC-2518 client can interoperate with an RFC-3253 server), or must fail.</font></tt> <br><tt><font size=3D2>Since a collection version is a resource with no mem= bers, the result of a successful COPY of a collection version would have to be the creation of a destination resource with no children. Since this is unlikely to be the behavior that a versioning client would want, the COPY request is defined to fail.</font></tt> <br> <br><tt><font size=3D2>Cheers,</font></tt> <br><tt><font size=3D2>Geoff</font></tt> <br> <br> <br><tt><font size=3D2>Werner wrote on 08/22/2006 04:24:25 PM:<br> > I thought that a version of a collection represented the state of<br> > that collection at a certain point. So the version-controlled-binding-= set,<br> > which is a collection version property, contains the binding names<br> > that correspond to the members of the collection at that version.<br> > If collection /a has members b and c at a certain point, then the<br> > version of the collection corresponding to this would have binding<br> > names b and c.<br> > <br> > Given a version of a VCR, a system can find that VCR. If our VCR is<br> > collection /a and if we have binding names b and c in the collection<b= r> > version, we can reconstruct /a/b and /a/c. Now we have enough to<br> > create a new collection with members b and c.<br> > <br> > I don't find that very strange. What is the difference between copying= <br> > a collection version to another collection, leading to a new version<b= r> > controlled collection in the latter, and copying a version controlled<= br> > collection with a label header. Precondition must-select-version-in-hi= story<br> > in section 8.7 results in some collection version to be used for the<b= r> > copy. I could also have specified that collection version directly in<br> > the request URI.<br> <br> > Geoffrey M Clemm wrote:<br> > > It sounds like you are suggesting that the result of the copy depend on<br> > > what is in the target of the copy? That would be very stran= ge "copy"<br> > > behavior (i.e. the result of the copy should only depend on the source<br> > > of the copy). Collection versions are for use by "merg= e" and "update".<br> <br> > > Werner Donn=E9 <[email protected]> wrote on 08/22/2006 10:= 59:59 AM:<br> > >> A collection version has the names of its version controlled bindings<br> > >> and their version history. It is then possible to find the checked-in<br> > >> version of the members, which is what is used also when a collection<br> > >> is copied.<br> <br> > >> Geoffrey M Clemm wrote:<br> > >> > A collection version does not have enough information in it to produce a<br> > >> > sensible copy, since it only records the version history of its members,<br> > >> > not the versions. So a collection version is useful for updating a<br> > >> > configuration, but is not useful for creating a new configuration<br> > >> > (that's what baselines are for).<br> <br> > >> > Werner wrote on 08/22/2006 06:34:16 AM:<br> > >> >> Why should the request fail if the source is a colle= ction version?<br> > >> >> It seems to me that any version is as good as the checked-in version<br> > >> >> to copy from.<br> </font></tt> --=_alternative 00093EF3852571D3_=--