I'm building a revision system similar to the one Stack Overflow has and there's one thing I can't get my head around, what's the best way to the differences in tags between multiple revisions?
The simplest way I can think of is we have 3 tables, revisions, tags and another to link the two.
Each revision then has its own set of tags, the only problem is that when you want to display all revisions, the tags need to be re-compared to find out the differences even though they don't change.
Perhaps an extra field or two could be added to mark tags which have been added or removed from the previous revision.
Is there a better way of doing this?