Die guten Leute, die das SVN- Versionskontrollsystem erstellt haben, verwenden eine Struktur, die sie als "Deltas überspringen" bezeichnen, um den Revisionsverlauf von Dateien intern zu speichern. Eine Revision wird als Delta gegenüber einer früheren Revision gespeichert. Revision N wird jedoch nicht unbedingt als Delta gegen Revision N-1 wie folgt gespeichert:
0 <- 1 <- 2 <- 3 <- 4 <- 5 <- 6 <- 7 <- 8 <- 9
Stattdessen wird die Revision N als Delta gegen Nf (N) gespeichert, wobei f (N) die größte Zweierpotenz ist, die N teilt:
0 <- 1 2 <- 3 4 <- 5 6 <- 7
0 <------ 2 4 <------ 6
0 <---------------- 4
0 <------------------------------------ 8 <- 9
(Oberflächlich betrachtet sieht es aus wie eine Überspringliste, ist aber wirklich nicht so ähnlich. Zum Beispiel sind Überspringdeltas nicht daran interessiert, das Einfügen in die Mitte der Liste zu unterstützen.) Weitere Informationen hierzu finden Sie hier .
Meine Frage ist: Verwenden andere Systeme Sprungdeltas? Waren Skip-Deltas vor SVN bekannt / verwendet / veröffentlicht, oder haben die Entwickler von SVN sie selbst erfunden?
quelle
Antworten:
Ausgehend von Ihrem Link Skip-Deltas in Subversion habe ich diesen Hinweis gelesen. Hinweise zum Speichern von Versionsverläufen von Dateien und dort steht:
Ich vermute also, dass das Sprungdelta irgendwo vor 2002 vom SVN-Team erfunden wurde. Man könnte sich an diesen Greg Hudson wenden, falls er mehr weiß.
Oder haben sie ein Versionierungssystem (CVS) verwendet, um SVN zu entwickeln, und es gibt immer noch Festschreibungsprotokolle?
Ich habe auch nach Delta-Komprimierung gesucht und keine frühere Referenz gefunden. Ich denke, es wäre sinnvoll, da diese Überspring-Delta-Technik auf das schnelle Abrufen spezialisiert ist und möglicherweise vor SVN niemand das schnelle Abrufen von Delta-komprimierten Daten benötigte. Die Delta-Komprimierung selbst ist in der Literatur seit den 70er / 80er Jahren enthalten. Eine der frühesten Arbeiten ist Erfahrungen mit der Delta-Komprimierung von Daten, die von DIII erzeugt wurden .
quelle