Date: Thu, 4 May 2000 22:58:53 -0400 (EDT) Message-Id: <200005050258.WAA15957@tantalum.atria.com> From: "Geoffrey M. Clemm" <geoffrey.clemm@rational.com> To: ietf-dav-versioning@w3.org Subject: Re: Labels From: "Tim Ellison/OTT/OTI" <Tim_Ellison@oti.com> <geoff> I believe this is a better model than adding and removing a label from a revision, because it makes explicit the two key semantic properties of a label: - when you put a label on a revision, it removes it from the revision that currently has that label (if any) <tim> I infered that if I did a SET-TARGET and added an existing label to a new revision it would be *im*plicitly removed from the other revision. There is no indication that I must explicitly remove it first. </tim> Good thing, because you *don't* explicitly remove it first (:-). Your inference that it would be implicitly removed from the other revision was the correct one. - you use a label in a Target-Selector header to select a particular revision. <tim> The srewed observer would also notice the keyword "label" in the Target-Selector ;-) </tim> Since the definition of SET-TARGET is: "A SET-TARGET request can be applied to a versioned resource whose target is a revision to specify that revision to be the target when the specified label is used in a Target-Selector header", I don't think you'd have to be that shrewd to expect "label" to be one of the choices for a Target-Selector header (:-). <tim> My claim is only that it is not inferable from the SET-TARGET method either, but at least LABEL is the obvious place to look in the spec. when trying to understand set/get/remove labels. (I'm not proposing a change in semantics.) </tim> My claim is that the underlying model shouldn't be set/get/remove label, but rather "set-target rev-xx" and "set-target none". This provides a consistent way to set a "label" target and set the "default" target. But as you say, we agree on the semantics, and are only debating how those semantics should be marshalled. Cheers, Geoff