Wo auf dem Server sind die SVN-Ordner ich in überprüft?
Frage
Der Versuch, etwas zu verstehen. Ich habe ein d: \ SVN \ Repository auf meinem Server. Ich begangen Ordner, aber wenn ich auf d zurück: \ SVN \ Repository Ich sehe sie nicht. Sind sie alle in einer Datenbank? Werden alle meine Repositories gehen in diesem Hauptordner und svn Spuren sie? Was passiert, wenn ich zwei Projekte?
Danke.
Lösung
Subversion speichert nicht die logischen Ordner in der gleichen Struktur auf dem Server, ist es alles in einer Datei des Deltas in einer „Datenbank“ verfolgt. Diese Datenbank ist spezifisch für Subversion. Alles zu diesem Repository begangen geht in dieser Datei. Sie werden nicht Ihre logische Struktur auf dem Server finden, es funktioniert einfach nicht so.
Mitte 2004, eine zweite Art von Repository-Speichersystem kam in wobei: eine, die ein nicht verwenden Datenbank überhaupt. Ein FSFS Repository speichert einen Revisionsbaum in einem einzigen Datei, und so alle ein Repository Revisionen in einem einzigen gefunden werden Unterverzeichnis voller nummerierte Dateien. Die Transaktionen werden in separaten erstellt Verzeichnisse. Wenn Sie fertig sind, ein einzelne Transaktion Datei erstellt und somit auf die Revisionen Verzeichnis verschoben, garantiert, dass die Atomizität. Und weil eine Revisionsdatei ist permanent und unveränderliche, die Repository kann auch während gesichert werden „Heiß“, wie eine Berkeley DB Repository.
Die Revision-Dateiformat stellt ein Revision der Verzeichnisstruktur, Datei Inhalte und Deltas gegen Dateien in andere Revisionsbäume. Im Gegensatz zu einem Berkeley DB Datenbank, diese Speicher Format ist tragbar über verschiedene Betriebssysteme und ist nicht empfindlich zu CPU-Architektur. Weil es kein Journaling oder Shared-Memory-Dateien wobei verwendet wird, kann das Repository sein sicher zugegriffen über ein Netzwerk Dateisystem und in einem Read-Only geprüft Umgebung. Der Mangel an Datenbank Overhead bedeutet auch, dass der Gesamt Repository-Größe ist etwas kleiner.
hat FSFS unterschiedliche Leistungs Eigenschaften zu. Bei der Begehung einer Verzeichnis mit einer großen Anzahl von Dateien, FSFS verwendet einen O (N) Algorithmus append Einträge, während Berkeley DB verwendet eine O (N ^ 2) Algorithmus, um das ganze zu überschreiben Verzeichnis. Auf der anderen Seite, FSFS schreibt die neueste Version einer Datei als ein Delta gegen eine frühere Version, was bedeutet, dass der Check-out letzter Baum ist ein wenig langsamer als Holen der Volltexte in einer gespeicherten Berkeley DB HEAD-Revision. FSFS auch hat eine längere Verzögerung, wenn eine Finalisierung verpflichten, die im Extremfall könnte verursachen Kunden Timeout beim Warten auf eine Antwort.
Der wichtigste Unterschied, jedoch ist FSFS Unfähigkeit zu sein „Verkeilt“, wenn etwas schief geht. Wenn ein Verfahren zur Herstellung einer Berkeley DB Datenbank läuft in ein Berechtigungsproblem oder plötzlich abstürzt, wird die Datenbank nach links unbrauchbar, bis ein Administrator erholt es. Wenn die gleichen Szenarien passieren ein Verfahren ein FSFS mit Repository, ist das Repository nicht überhaupt betroffen. Im schlimmsten Fall, einig Transaktionsdaten hinter sich gelassen.