Frage

Ich möchte, wie Subversion speichert Änderungen in FSFS verstehen, und wie ein Blick / shapshot für eine gegebene Revisionsnummer aufgebaut.

Was habe ich von googeln entnommen ist, dass FSFS eine einfache Verzeichnisstruktur ist, mit Unterverzeichnissen für jede Revision wie:

..svn/rev/0/
..svn/rev/1/
..svn/rev/2/

Vermutlich werden nur die Änderungen (Deltas) werden unter jeder Revision Verzeichnis aufgezeichnet. So bedeutet dies, dass, wenn die Ansicht / snapshot für die Revision N Konstruktion, alle Deltas von 0 bis N haben geschlungen über werden?

Alle Links zu Ressourcen auf diesem sehr geschätzt.

Danke

War es hilfreich?

Lösung

Subversion speichert alle Deltas jeder Revision in einer einzigen (flat) Revisionsdatei. Jede Datei / Ordner innerhalb des Repository (eine so genannte „node“) hat eine interne ID.

Eine einzelne Revisionsdatei besteht aus allen Druck Deltas für diese besondere begehen, aber die Deltas sind nicht gegen die früheren Revision, sondern ein System verwenden namens „übersprungen Deltas“ linear wachsenden Suchzeit vermieden werden für den Anbau Versionsgeschichte.

Wichtig ist, dass FSFS verwendet Vorwärts-Delta statt rückwärts Deltas des BDB-Backend verwenden. So FSFS schneller auf Commits ist, aber langsamer auf Kasse, Berkeley DB Leistungscharakteristik anders herum.

Sie können viel mehr innen lesen SVN Design Notiz FSFS .

Andere Tipps

Hier ist ein Link auf die FSFS Struktur Referenz (einschließlich Dateiformatbeschreibung): https://svn.apache.org/repos/asf/subversion/trunk/subversion/libsvn_fs_fs/structure

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top