Re: Removing the "single line of descent" restriction on activities

From: jamsden@us.ibm.com
Date: Thu, Jan 06 2000

  • Next message: jamsden@us.ibm.com: "Re: nested DAV:rsr-or and DAV:rsr-merge"

    From: jamsden@us.ibm.com
    To: ietf-dav-versioning@w3.org
    Message-ID: <8525685E.0046384D.00@d54mta03.raleigh.ibm.com>
    Date: Thu, 6 Jan 2000 07:34:47 -0500
    Subject: Re: Removing the "single line of descent" restriction on 	 activities
    
    
    
    Geoff,
    I'm not sure what you mean by removing the single line of descent
    requirement. My understanding was that an activity can only be on one line
    of descent. That is, in a branching system, the activity can be thought of
    as the name of a branch, and the same activity can't name more than one
    branch. This seems like a good thing, and allows us to use activities in
    workspace revision selection rules without qualification to get the latest
    revision in that activitiy.
    
    I guess I don't see a problem with clients expecting a single activity to
    be a single line of descent with a well-defined latest, and multiple
    activities being on different lines of descent of different resources. (I'm
    not sure what it would mean to have a dependent activity on the same
    versioned resource, the workspace will only select one revision, what ever
    comes first). I though of needed-activities as a way of collecting related
    changes on related resources, not related changes in the same resource.
    
    It is possible to simulate needed-activities to some extent by just
    including the activities in the workspace RSR. This isn't as logical, but
    it works.
    
    So I don't feel too motivated to change anything and would vote for 0).
    Single line of descent does always hold for a single activity. An activity
    with needed-activities is not a single activity. Clients will have to be
    aware of this.
    
    
    
    
    
    "Geoffrey M. Clemm" <geoffrey.clemm@rational.com>@w3.org on 01/05/2000
    01:21:24 PM
    
    Sent by:  ietf-dav-versioning-request@w3.org
    
    
    To:   ietf-dav-versioning@w3.org
    cc:
    
    Subject:  Removing the "single line of descent" restriction on activities
    
    
    
    Currently, an activity without a DAV:needed-activities property must select
    revisions in a single line of descent, while one with a
    DAV:needed-activities
    property does not.  (The DAV:needed-activities property enumerates the
    sub-activities that contribute to the logical change of the activity).
    
    I believe that this effectively makes the "single line of descent"
    restriction pointless, since clients will need to deal with activities
    that do *not* select a single line of descent (since any activity might
    have or be given a DAV:needed-activities property).
    
    I see several alternatives:
    (0) ignore this issue and leave things as they are now
    (1) remove the DAV:needed-activities property
    (2) extend the "single line of descent" to apply to the union of
        versions in an activity and its needed-activities
    (3) remove the "single line of descent" requirement
    
    My thoughts on these alternatives are:
    
    (0) I don't like this alternative (clearly, or I wouldn't have bothered
    to send out this message :-).  I believe this will be a significant cause
    of error for clients and servers that don't realize that
    single-line-of-descent
    does not always hold.
    
    (1) I think the ability to compose activities out of other future, current,
    or prior activities is too important to give up except as the very last
    resort.
    
    (2) Since different activities will be worked on independently, I think
    it will be computationally infeasible to detect when single line of descent
    is violated for multiple activities being changed in distinct workspaces.
    
    (3) I think this is the right way to go.  This doesn't actually change
    anything from a client's perspective, but ensures that clients don't try
    to incorrectly take advantage of a constraint that does not in general
    hold.
    
    As always, silence will be taken as permission to make this change to
    the next draft of the spec, but will not imply that you will not object
    at some later date (:-).
    
    Cheers,
    Geoff