Diese Dokumentation wurde zur Beschreibung der Serie 1.6.x von Subversion erstellt. Falls Sie eine unterschiedliche Version von Subversion einsetzen, sei Ihnen dringend angeraten, bei http://www.svnbook.com/ vorbeizuschauen und stattdessen die zu Ihrer Version von Subversion passende Version dieser Dokumentation heranzzuiehen.
Wie bereits erwähnt, besitzt jedes Verzeichnis einer
      Subversion-Arbeitskopie ein besonderes Unterverzeichnis namens
      .svn,  das Verwaltungsdaten zum
      Arbeitskopieverzeichnis beherbergt. Subversion verwendet die
      Informationen in .svn, um Dinge wie diese
      zu verfolgen:
welche Orte des Projektarchivs durch die Dateien und Unterverzeichnisse der Arbeitskopie repräsentiert werden
welche Revision jeder dieser Dateien und Verzeichnisse momentan in der Arbeitskopie vorhanden ist
irgendwelche benutzerdefinierten Eigenschaften, die diesen Dateien und Verzeichnissen zugewiesen sein könnten
ursprüngliche (unbearbeitete) Kopien der Dateien in der Arbeitskopie
Die Struktur sowie der Inhalt des Verwaltungsbereichs einer Subversion-Arbeitskopie werden als Implementierungsdetails betrachtet, die nicht für menschliche Bearbeitung vorgesehen sind. Entwicklern wird nahegelegt, die öffentlichen APIs oder die von Subversion zur Verfügung gestellten Werkzeuge zu benutzen, um die Daten der Arbeitskopie zu bearbeiten, statt diese Dateien direkt zu lesen und zu verändern. Die von der Arbeitskopie-Bibliothek für ihre Verwaltungsdaten verwendeten Dateiformate ändern sich hin und wieder – eine Tatsache, die dem Durchschnittsanwender dank der öffentlichen APIs verborgen bleibt. Nur um Ihre unbändige Neugier zu stillen, werden wir in diesem Abschnitt einige dieser Implementierungsdetails offenlegen.
Die vielleicht wichtigste Datei im Verzeichnis
        .svn ist die Datei
        entries. Sie enthält den größten Teil der
        Verwaltungsinformationen zu den versionierten Elementen in
        einem Verzeichnis der Arbeitskopie. Diese eine Datei verfolgt
        die Projektarchiv-URLs, die ursprüngliche Revision, Prüfsummen
        von Dateien, ursprünglichen Text und Zeitstempel von
        Eigenschaften, Informationen zur Ablaufkoordination und zu
        Konfliktzuständen, Informationen zur letzten Übergabe (Autor,
        Revision, Zeitstempel), die Geschichte der lokalen Kopie
        – praktisch alles, was ein Subversion-Client über eine
        versionierte (oder noch zu versionierende) Ressource wissen
        möchte!
Kenner der Verwaltungsverzeichnisse von CVS werden zu
        diesem Zeitpunkt bemerkt haben, dass die Datei
        .svn/entries von Subversion neben anderen
        Dingen denselben Zweck verfolgt wie eine Vereinigung der
        CVS-Dateien CVS/Entries,
        CVS/Root und
        CVS/Repository.
Das Format der Datei .svn/entries hat
        sich im Laufe der Zeit geändert. Als ursprüngliche XML-Datei
        verwendet sie nun ein angepasstes – doch immer noch
        menschenlesbares – Dateiformat. Obwohl XML eine gute
        Wahl für die ersten Entwickler von Subversion war, die
        regelmäßig den Inhalt der Datei (und abhängig davon,
        Subversions Verhalten) debuggen mussten, ist mittlerweile die
        Notwendigkeit der Fehlersuche aus der frühen Entwicklungsphase
        dem Wunsch der Benutzer nach einer flotteren Ausführung
        gewichen. Ihnen sollte bewusst sein, dass die
        Arbeitskopie-Bibliothek automatisch Arbeitskopien auf ein
        neueres Format bringt – sie liest das alte Format und
        schreibt das neue – was Ihnen einerseits die
        Bereitstellung einer neuen Arbeitskopie erspart, andererseits
        allerdings zu Komplikationen führen kann, falls verschiedene
        Versionen von Subversion dieselbe Arbeitskopie verwenden
        wollen.
Wie bereits erwähnt, enthält das Verzeichnis
        .svn auch die unveränderten Versionen
        „textbasierter“ Dateien. Sie finden diese in
        .svn/text-base. Die Vorteile dieser
        unveränderten Kopien sind vielfältig – Überprüfung
        lokaler Änderungen und Vergleiche ohne Netzzugriff,
        Wiederherstellung veränderter oder verlorengegangener Dateien
        ohne Netzzugriff, effizientere Übertragung von Änderungen an
        den Server — jedoch zu dem Preis, dass jede versionierte
        Datei mindestens zweimal auf der Platte gespeichert wird.
        Heutzutage scheint das jedoch für die meisten Dateien ein
        vernachlässigbarer Nachteil zu sein. Jedoch sieht es nicht
        mehr so schön aus, wenn die Größe Ihrer Dateien anwächst. Es
        wird daher überlegt, die Anwesenheit der Datei
        „text-base“ optional zu machen. Ironischerweise
        jedoch wird das Vorhandensein von „text-base“ mit
        dem Anwachsen der Größe Ihrer versionierten Dateien immer
        ausschlaggebender — wer möchte schon eine riesige Datei
        über das Netz versenden, obwohl nur eine winzige Änderung
        übergeben werden soll?
Einen ähnlichen Zweck wie die
        „text-base“-Dateien verfolgen die
        Eigenschafts-Dateien und deren unveränderte Kopien
        „prop-base“, die in
        .svn/props bzw.
        .svn/prop-base untergebracht sind. Da
        selbst Verzeichnisse Eigenschaften haben können, gibt es auch die
        Dateien .svn/dir-props und
        .svn/dir-prop-base.