On Fri, 2003-01-03 at 22:36, Justin Erenkrantz wrote:
> DAV specifically allows locks to disappear at any time for any reason
Really? Here's an idea:
1. Encode a node-revision or crev in the lock token.
2. Store no state about the lock on the server.
3. Logically speaking, if the resource is modified while the lock is
held, then the lock has been "discarded." But since we're not
keeping state about locks, that's an abstract idea.
4. When a lock token is used, return an error if the crev or
node-revision in the lock token is no longer current for the
resource. (Uh, hrm, unless the lock token was used to make that
update. I don't suppose we get to return a new lock token or
anything so that we can update the expected crev. This could be a
catching point.)
In this implementation, a lock is purely an onus on the locker and not
on the other clients--a degenerate but compliant implementation of
breakable locks. And it should be easy to implement because there is no
new state to be stored.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Jan 4 05:00:58 2003