Date: Thu, 10 Aug 2000 12:46:35 -0700 From: Greg Stein <gstein@lyra.org> To: "Geoffrey M. Clemm" <geoffrey.clemm@rational.com> Cc: ietf-dav-versioning@w3.org Message-ID: <20000810124635.C19525@lyra.org> Subject: Re: move/copy/delete/etc in a change set Excellent. Thanks for the response! It is still a teeny bit unclear of the actual form of the HTTP requests to accomplish these items. However, I'll be working on that over the next few days. I think that I'll develop a sequence of req/resp matching my example change set below, and then post it back here for review/comment. For example, one of my questions to work through is: what URL do you use for a PUT to place a new resource into a checked out collection? Do you PUT under the working resource? Do you PUT under the version selector and the server automatically goes to the working resource and alters it? [ analogous situations apply to the other collection modifiers ] If somebody has an idea, then great. Otherwise, I'll have something posted back here by Monday. Thanx, -g On Thu, Aug 10, 2000 at 08:50:31AM -0400, Geoffrey M. Clemm wrote: > 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 -- Greg Stein, http://www.lyra.org/