Kylo We need to store all of the old post's content in the database rather than storing changed parts (diffs) only.
IMO it is still better and more pragmatic to store full content of old revisions, instead of calculated diffs only. It should be less problematic in future when some more invasive changes should be made in diff format and makes more sense in context of removing revisions. Right now if you if you have use case like this:
- I wrote my post. (revision nr 1)
- I edited this post and put some sensitive data in it. (revision nr 2, diff nr 1)
- I realized what just happened and removed sensitive data from my post. (revision nr 3, diff nr 2)
To remove this sensitive information form editions history, I need to remove all two diffs. If you store raw revisions and calculate diffs on request, I could just remove revision nr 2. And you could still generate usable diff between revision nr 3 and revision nr 1.
It will be also much easier to create "revert" feature (you just need to copy content from revision to post).