Subversion

Die letzten Tage habe ich versucht mir ein Subversion – Repository einzurichten, damit ich meine Software-Projekte besser verwalten kann (“Wann hab ich den DIE Änderung gemacht?!?”) und auch immer den gleichen Stand auf Notebook und Desktop hab.
Das Ganze funktioniert zusammen mit einem WebDAV-fähigen Apache2 und bietet somit leichten Zugang und einfache Zugriffsbeschränkung. Ausserdem steht so bereits eine leistungsfähige und sichere Server-Lösung zur Verfügung.

Das ganz lief auch ganz gut, nachdem ich Apache2 wegen SSL neu kompiliert hatte. Ich konnte Projekte einfügen, Checkout und Commits machen, nur leider keine neuen Dateien in bestehende Projekte einfügen. Der Subversion-Client meldete immer die Fehlermeldung:

svn: PROPFIND request failed on /svn/project/trunk/file.txt
svn: PROPFIND of /svn/project/trunk/file.txt: 302 Found (http://server.com)

Leider war in Google nichts vernünftiges dazu zu finden. Herausbekommen habe ich jedoch, dass das Problem eher selten ist und es irgend etwas damit zu tun hat, dass Apache den Request nicht ordentlich an Subversion weiterleitet, sondern irgendwie selbst nachschaut ob es diese Datei gibt.

Status-Code 302 bedeutet ja bekanntlich “temporarily moved”. Auf die Lösung des Problems bin ich gekommen, als ich die URL (http://server.com/svn/project/trunk/file.txt) im Browser aufgerufen hab: Da bin ich doch tatsächlich auf der selbstgemachten 404-Seite. Also kurz mal die ErrorDocument-Anweisung aus der httpd.conf auskommentiert und man sehe und staune:
Es gibt nen richtigen 404-Status-Code für Subversion und keine komische Umleitung mit der Subversion nichts anzufangen weiß.

Das als Warnung an alle, die sowas auch mal Versuchen wollen, und als Hoffnung, dass diejenigen mit dem Problem dann auf diesen Beitrag stoßen und ihnen dadurch geholfen wird :)

3 Responses to “Subversion”

  1. Yoshi Says:

    :) du hast mir grad ne Menge Arbeit erspart. Hatte exakt das Problem :)

  2. ghosty203 Says:

    danke fuer den tip

    wenn svn eine datei adden will , wird zuerst ein HTTP GET auf die datei ausgefuehrt und wenn ein standart 404 zurueck kommt wird die datei geadded , sonst bekommt man eine einen fehler von subversion.

    dein eintrag hat mir geholfen den fehler schnell zu korrigieren.

  3. iskrid Says:

    vielen Dank, da wäre ich auch nicht dahinter gekommen :-)

Leave a Reply