Hi André,
Yes, merging of revisions from different collaborators is difficult,
and I've deliberately steered away from it at the moment, favouring a
model where each revision in it's entirity is stored, though it's
always possible for a user to compare two revisions and see the
additions / deletions graphically as you can with Google Docs.
This ability to compare revisions is thanks to the diff-match-patch
Javascript library (
http://code.google.com/p/google-diff-match-patch/)
written by Neil Fraser, and I've made use of the "diff" part of this
library, though I think maybe the "match" and "patch" parts of this
library could be used to attempt the merging of separate revisions.
If there's enough call for this functionality, then I'll spend some
time looking at it, though my suspicion is that any type of merging
would be difficult to get 100% correct (given that users can do things
like delete and move chunks of text around in a document, thus
destroying any reference points for any merging process). Maybe any
merging algorithm would have to only attempt to merge if it could
detect that there would be a reasonable chance that it would be
accurate?
Thanks for the feedback though!
Jason