Check out Everything2
They have implemented a simple undo/redo like history tracking. It is rather simplistic (like undo/redo in most text editors), but I am rather fond of it.
I'm not sure how exactly it all works , but the great news, as you know, e2 is all open source.
This and this will give you some insight into how it works.
This will give you some ideas on implementing such a feature.
vrooms pmdev patch idea seems like a rather nice way of doing it. There is a master document/node, and people submit patches for it, which selectively get imported into the master by a god.