Manual checkout, automatic checkin?

I'm interested in having a server which does smart versioning even in the
presence of non-versioning clients.  Thus:

Server will checkout/checkin if a client does a PUT outside the context of a
lock.  Server will checkout/checkin only once for a series of PUT requests
inside the context of a lock.
Server supports CHECKOUT, CHECKIN, UNCHECKOUT for sophisticated clients.

Now my problem is what behaviour will the client expect if the server
supports all these features, and the client does an UNLOCK or a PUT on a
checked-out resource?  E.g.

 - CHECKOUT foo
 - LOCK foo
 - PUT foo
 - UNLOCK foo  --> the resource should now still be checked out, right?

Section 3.2.3. seems to state that an automatic checkin is only done if the
checkout was also automatic.  (That forces servers to keep track of how the
checkout was done, but that seems desirable considering the alternatives).

But Tim's latest mail said that automatic checkouts can be manually
overridden or checked in.

Is this intentional, or is it inconsistent?

Lisa

Received on Thursday, 12 July 2001 12:55:55 UTC