Optimistic locking might work better, as long as the underlying data can be automatically diffed and merged reliably well.
Git generally does well using this approach, though it's pretty easy to diff text.