Ich habe vor kurzem ein solches System implementiert, das das Konzept der überholten Datensätze zusammen mit einem früheren und einem aktuellen Link verwendet. Ich habe lange recherchiert, wie man dies am besten erreichen kann. Letztendlich bin ich zu einem Modell gekommen, das dem von Wordpress (und anderen Systemen) ähnelt - die Änderungen werden als neuer Datensatz gespeichert und dieser verwendet.
In Anbetracht aller verfügbaren Optionen ist der Speicherplatz wirklich das letzte Problem bei selbst erstellten Inhalten wie Beiträgen - Mediendateien benötigen viel mehr Platz und können ohnehin nicht als Deltas gespeichert werden.
In jedem Fall ist die Funktionsweise von Git praktisch identisch, da es den gesamten Inhalt jeder Revision speichert, mit der Ausnahme, dass es schließlich in Deltas verpackt wird (oder wenn Sie es wünschen).
Bis 1990 benutzten wir SCCS oder RCS, und manchmal, wenn nur 30 MB freier Speicherplatz zur Verfügung standen, musste die Versionskontrolle wirklich effizient sein, damit der Speicherplatz nicht ausging.
Die Verwendung von Deltas, um Platz zu sparen, ist angesichts des durchschnittlich verfügbaren Speicherplatzes auf modernen Systemen den damit verbundenen Aufwand nicht wirklich wert. Man könnte argumentieren, dass es Platzverschwendung ist, aber ich würde sagen, dass es langfristig viel effizienter ist, Dinge unkomprimiert in ihrer ursprünglichen Form zu speichern
- es ist schneller
- es ist einfacher, alte Versionen zu durchsuchen
- es ist schneller zu sehen
- Es ist einfacher, mitten in eine Reihe von Änderungen hineinzuspringen, ohne eine Menge Deltas verarbeiten zu müssen.
- Es ist viel einfacher zu implementieren, weil man keine Algorithmen zur Deltagenerierung schreiben muss.
Außerdem lassen sich Markups nicht so gut mit Deltas versehen wie normaler Text, vor allem nicht bei der Bearbeitung mit einem Wysiwyg-Editor.