Re: move/copy/delete/etc in a change set

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

  • Next message: by way of : "Re: move/copy/delete/etc in a change set"

    Date: Thu, 10 Aug 2000 08:50:31 -0400 (EDT)
    Message-Id: <200008101250.IAA12299@tantalum.atria.com>
    From: "Geoffrey M. Clemm" <geoffrey.clemm@rational.com>
    To: ietf-dav-versioning@w3.org
    Subject: Re: move/copy/delete/etc in a change set
    
    
       From: Greg Stein <gstein@lyra.org>
    
       I'd like to enable change sets (i.e. a transacted set of changes to a DeltaV
       repository) that includes MOVE, COPY, DELETE, MKCOL, or PUT. However, it
       appears that each of these are spec'd as taking place immediately against an
       auto-versioned collection.
    
    You can auto-version a collection (by setting the DAV:auto-version
    property, but you can also require that a collection be explicitly
    checked-out and checked-in (by not setting that property).  If a
    collection is not auto-versioned, a MOVE/COPY/DELETE/MKCOL/PUT will
    fail if the appropriate collections are not checked out.
    
       Is there a way to do this?
       If not, then I would suggest we add something. These kinds of changes can
       definitely occur in a change set.
    
    Yes, all new collection versions are added to the current change set,
    just as any other version.  In particular, if the collections being
    modified are members of a workspace, all new versions created in that
    workspace (either by an explicit checkin or by an implicit checkin
    from auto-versioning) will be added to the DAV:current-activity-set
    activities.  If your version selectors are not in a workspace, the new
    versions will be added to the activity of the DAV:checked-out version.
    
    So the bottom line is that if your server supports versioned
    collections and activities, the collection modifications caused by
    COPY/MOVE/DELETE/MKCOL/PUT are captured in a change set.
    
       For example, consider a repository for code development. I can easily see
       torching an old interface (DELETE), adding a new one (PUT), create a subdir
       for some new tests for the interface (MKCOL), and moving a test from an old
       into the new, along with some changes to that file (MOVE and PUT).
    
    Yes, that is a good example.  And when you merge the activity that
    captured that change into another workspace, you want to see those additions,
    deletions, and renames, appear in the destination workspace.
    
    Cheers,
    Geoff