Stop storing diffs by default in the history

+1 from my side. I would like to mention the following benefits:

  • better performance both for storing revisions (huge performance improvement as mentioned by Thomas) and for viewing them (just need to read a single entry, no need to apply up to 4 diffs)
  • much more robust storage with less potential for unreadable revisions. I think that issues like XWIKI-19596 simply won’t exist anymore when not storing diffs (I assume that issue is due to a temporarily inconsistent state of the history store).
  • much simpler and thus less error-prone revision deletion (at the moment, I would bet for example that you end up with broken revisions if two users delete adjacent old revisions at exactly the same time).

While this is the first step, I think we should think about next steps:

  • Stop supporting storing new revisions with diff.
  • Migrate existing diffs to full revisions and remove support for reading diffs.

It makes sense to treat them as separate steps, though, we could plan them for the next development cycles (e.g., first for 18.x, second for 19.x).