Just thought I'd add my 2 cents to the discussion.
I agree with Florian that this is better handled with separate
lock files than with physical file locks.
I, for one, would be interested in this feature. But maybe it would
be better to do something that was advisory rather than mandatory.
This can be important in the cases you mentioned where a an
edit was abandoned. Having to wait for a lock to expire or
call on an administrator to break a lock would be a huge hassle.
I'd appreciate something as simple as a notice - before the page
edit came up (or at the top of the edit page) - that it appears
that someone is already editing the page (and maybe who it was).
Then the user could decide if they wanted to continue (make
their edits and save) or not.
This should solve most of the collision problems, if the notice is
prominent enough and people pay attention to it. What you're
really trying to fix is the very annoying situation where you've
spent a long time editing a page, only to find out someone has
submitted data ahead of you, and now you have to reconcile the
two submissions. In the case where someone started their edit
before you, you can be advised to wait until their done to start
your long edit. In the case where someone starts their edit after
you, they can be advised that you are working on it, and back off
to let you finish.
If people consistently abandon edits midstream, that's a
training problem, and if people ignore the warning about another
edit in progress, that's a social problem. The final problem,
of someone being an "edit hog", is also a social problem, but
is present whether there's a locking system, notice system, or
even the current edit-at-will system. Most wikis should have
such a problem!! :^)
Just some thoughts...
Embedded Linux Consultant
Tim Bird Consulting