revision and text now use separate row ID numbers in HEAD. A revision row refers to text.old_id with its rev_text_id key; this allows text revisions to be stored independently of a given revision.
* Operations that change only metadata can be put in the page history without storing a new text record. I've done this for page move as a start. (It might be good to also add a marker field for metadata-only changes so they can be shown distinctly in the history.)
* In theory, reverts could do the same, referring to the prior text record without saving a new copy.
* The storage backend can number text objects using its own scheme; if necessary text object IDs can be reassigned during batch recompression.
If you're running a 1.5 test wiki, you'll have to run the update.php to add the field. (Manually, maintenance/archive/patch-rev_text_id.sql)
-- brion vibber (brion @ pobox.com)