Re: Labels

From: Geoffrey M. Clemm (geoffrey.clemm@rational.com)
Date: Thu, May 04 2000

  • Next message: Geoffrey M. Clemm: "Re: Locking"

    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