There are many ways of handling undo/redo and conflicts when multiple people are editing documents in realtime.
I'm thinking about every k seconds to send the document payload off with a commit
message to a DVCS. For the undo/redo problem, maybe I'll use a Rope.
But I'm uncertain. what's the best way to resolve merge conflicts and per-user undo/redo?, e.g.: how does Google Docs do it?