i

Versionierungssoftware TortoiseSVN

Worum geht es hier?

Der Zugriff der verschiedenen Autoren auf das elektronische Schulbuch erfolgt über die Versionsverwaltung SVN (Subversion), die auf einem gesonderten Server betrieben wird, den wir im folgenden als SVN-Server bezeichnen wollen.(Dieser ist nicht zu verwechseln mit dem Webserver, der die Seiten aufbereitet den Benutzern zur Verfügung stellt). Allerdings werden die Inhalte des SVN-Servers in der Regel alle 15 Minuten automatisch auf den Webserver kopiert.

Übersicht über die Struktur der Versionsverwaltung[1]

Die Autoren ändern dabei nicht direkt die Daten auf dem SVN-Server, sondern zunächst eine lokale Datenkopie, die auf ihrem jeweiligen Rechner gespeichert ist. Auf diese Weise können Änderungen und Erweiterungen zunächst einmal zwanglos ausprobiert werden, ohne dass das für die Welt sichtbare System beeinträchtigt werden könnte. Wenn dann die neuen Inhalte in der lokalen Kopie zur vollen (oder zumindest hinreichenden) Zufriedenheit des Autors sind, kann er diese dann gezielt wieder auf den SVN-Server übertragen.

Der typische Weg einer Veränderung sieht also folgendermaßen aus:
  • Aktualisieren der lokalen Kopie auf den bisherigen Stand auf dem SVN-Server ("SVN-Update")
  • Vornehmen von Änderungen
  • Zurück-Kopieren der geänderten Inhalte auf den SVN-Server ("SVN-Commit")
Die Kommunikation des lokalen Computers mit dem SVN-Server wird durch einen so genannten SVN-Client erzielt, einer speziellen Software auf dem lokalen Computer. Die hier folgende Beschreibung verwendet den OpenSource-SVN-Client "TortoiseSVN". Damit sich die lokale Kopie ähnlich verhält, wie das Original, ist es notwendig, auf dem eigenen Rechner einen Webserver zu installieren, z.B. das freie Werkzeug "xampp". Es ist also nicht sinnvoll, die html-Dateien des Systems einfach mit einem Webbrowser zu öffnen, sondern der eigene Computer stellt die Inhalte über einen Webserver (typischerweise das System "xampp") dar, auf den der Browser letztlich wie auf eine reguläre Webseite auf einem fremden Server zugreift. Die „Webadresse“ des eigenen Rechners lautet dabei localhost.

Es folgt hier eine kurze Anleitung, wie man das mit einem Windows-System bewerkstelligen kann.
Vorsicht: Diese ist möglicherweise noch fehlerhaft und muss noch ausgetestet werden.

Herunterladen der Software

  • TortoiseSVN-Installationsdatei vom SourceForge-Server herunterladen.
  • Installationsdatei ausführen.
  • XAMPP-System herunterladen (alternativ auch die kompaktere, aber völlig ausreichende Lite-Version).
  • Installationsdatei ausführen. Dazu einige Tipps:
    • Es empfiehlt sich, das XAMPP-System direkt in die Wurzel eines Laufwerks zu kopieren und nicht (wie ordentliche Windows-Benutzer das vielleicht denken würden, in C:\Programme oder etwas Ähnlichem.
    • Das Angebot zu "Bitnami for Xampp" mit Installern zu Drupal, Joomla! und WordPress, kann man getrost ausschlagen [Haken entfernen].
    • Beim ersten Start wird xmapp u.U. von der (Windows-)Firewall blockiert. Hier muss man dann den Zugriff explizit zulassen.
  • Weiterhin empfiehlt es sich, einen leistungsstarken Texteditor mit Syntaxhighlighting zu verwenden, etwa Notepad++.
  • Erstmalig Verbindung zum SVN-Repository herstellen

    Für die ersten Schritte empfiehlt sich zunächst ein Arbeiten mit dem (nicht immer geliebten) Windows Explorer. Für spätere Eingriffe kann man dann auch möglicherweise wieder mit Werkzeugen wie "freecommander" arbeiten.
    • Im Unterordner htdocs von xampp einen Ordner inf-schule-lokal anlegen und in diesen Ordner wechseln.
    • Rechtsklick in die (noch leere, weiße) Dateiliste dieses Ordner auf der rechten Seite.
    • SVN Checkout ...
    • Unter URL of Repository
      http://svn.netzmanufaktur.com/dev.inf-schule/trunk/web
      angeben.
    • OK drücken.
    • Fragt TortoiseSVN nach Benutzername und Passwort, die entsprechenden Daten eingeben.
    Der Datenbestand des Schulbuchs (das sogenannte Repository) wird nun auf Ihren Rechner heruntergeladen. Das kann eine Weile dauern, es werden (einmalig) mehr als 500MB heruntergeladen.

    Aktualisieren der lokalen Kopie

    Bevor man das Schulbuch verändert, ist es unbedingt erforderlich, die lokale Version auf den neuesten Stand zu bringen.
    • Rechtsklick auf den Ordner
      ...\xampp\htdocs\inf-schule-lokal\content
    • Auswahl von
      SVN Update

    Anzeigen der lokalen Kopie

    Um die lokale Kopie anzuzeigen, muss der lokale Webserver gestartet werden, auf den man dann mittels des eigenen Browsers zugreift.
    • Im Order
      ...\xampp
      die Datei
      xampp_start.exe
      ausführen.
    • Webbrowser starten (wenn nicht schon einer offen ist)
    • Falls man die Verzeichnisnamen aus dieser Anleitung 1:1 übernommen hat, wäre hier die "Web-Adresse" für die lokale Version
      http://localhost/inf-schule-lokal
      Unter dieser Adresse müsste die lokale Kopie des Schulbuchs nun angezeigt werden.

    Änderungen an bestehenden Dateien machen

    Änderungen an bestehenden Dateien können mit Hilfe von Editoren wie notepad++ gemacht werden. In den Dateien mit Namen
    inhalt.html
    stehen die eigentlichen Texte. In alten Varianten von inf-schule.de kamen XML-Dateien zum Einsatz, um die Menüstruktur abzulegen. Alle Attribute die hier früher Verwendung fanden, können jetzt als Metadaten in der Inhaltsdatei hinterlegt werden. Beachte dazu den nächsten Abschnitt zur Inhaltsdatei.

    Neue Dateien und Ordner erstellen

    Werden neue Dateien oder Ordner erstellt, ist es wichtig, dass diese beim Versionierungssystem "angemeldet" werden.
    • Rechtsklick auf die neue Datei / den neuen Ordner
    • TortoiseSVN | Add
    • Die Dateien, die wirklich zum System hinzugefügt werden sollen, markieren und bestätigen.

    Änderungen auf den Server übertragen

    • Denjenigen Ordner, in dem man alle Änderungen gemacht hat, rechts anklicken. Es empfiehlt sich, dabei möglichst tief in der Hierarchie zu arbeiten, damit man nicht aus Versehen die Aktivitäten eines anderen Autoren in einem anderen Kapitel überschreibt.
    • SVN Commit
      wählen.
    • Liste der geänderten Dateien bestätigen
    • Bitte nicht wundern: Wie schon gesagt liefert der SVN-Server ca. alle 15 Minuten den aktuellen Schulbuchbestand an den Webserver von inf-schule.de aus. Es kann also bis zu 15 Minuten dauern, bis Sie die von Ihnen übertragenen Änderungen über die "echte" Webadresse www.inf-schule.de angezeigt bekommen.

    Webserver ordnungsgemäß beenden.

    Es ist sinnvoll, den Webserver des XAMPP-Systems am Ende der eigenen Arbeiten definiert zu beenden.
    • Im Ordner
      ...\xampp\
      die Datei
      xampp_stop.exe
      ausführen.

    Hinweis

    Für den fortgeschrittenen Benutzer gibt es eine Erweiterung (Plugin) des "notepad++"-Editors, der eine direkte Steuererung von TortoiseSVN aus dem Editor heraus ermöglicht. Die Installation des Plugins erfolgt über
    • Erweiterungen | Plugin Manager | Show Plugin Manager
    • Auswahl von Tortoise SVN

    Linux

    Unter Linux empfiehlt sich der Einsatz von RabbitVCS.

    Hinzufügen des PPA:

    sudo add-apt-repository ppa:rabbitvcs/ppa
    

    Installation von RabbitVCS - Paketen (je nach Distribution und Editor wird nur ein Teil benötigt):

    sudo apt-get update
    sudo apt-get install rabbitvcs-nautilus3
    sudo apt-get install rabbitvcs-nautilus
    sudo apt-get install rabbitvcs-thunar
    sudo apt-get install rabbitvcs-gedit
    sudo apt-get install rabbitvcs-cli
    sudo apt-get install thunar-vcs-plugin
    

    Ein vereinzelt auftretender Bug ist das Nichterscheinen des Einträge im Kontextmenü. Man muss dann die Python-Erweiterung in ein Verzeichnis des Home-Verzeichnisses kopieren:

    sudo apt-get install rabbitvcs-nautilus
    mkdir -p ~/.local/share/nautilus-python/extensions
    
    cp /usr/share/nautilus-python/extensions/RabbitVCS.py \
    ~/.local/share/nautilus-python/extensions
    
    Anschließend Nautilus neu starten:
    nautilus -q
    
    Kontextmenü RabbitVCS SVN[2]

    Quellen

    Suche

    v
    15.6.5.1
    schuljahr.inf-schule.de/2023-24/infschule/dokumentation/svn/tortoisesvn
    schuljahr.inf-schule.de/2023-24/15.6.5.1
    schuljahr.inf-schule.de/2023-24/@/page/Hg9U2hV0NRNehdwS

    Rückmeldung geben