Subversion: Autor und Commit Message nachträglich mit tortoisesvn ändern

Will man den Autor oder die Log message eines Commits im Nachhinein ändern, bietet tortoisesvn dafür zwei Kontextmenüpunkte an.

Im Log-Fenster einfach die gewünschte Revision auswählen und rechtsklicken.
Dann erscheint folgendes Menü:

Dort kann man dann „Edit author“ oder „Edit log message“ auswählen.
Beispiel für Autor:

Damit diese beiden Funktionen funktionieren, muss auf dem Server im jeweiligen Repository ein hook-script installiert/aktiviert werden.

Im Verzeichnis hooks einfach eine Datei pre-revprop-change mit folgenem Inhalt anlegen:

#!/bin/sh
exit 0

Dann noch die Berechtigungen entsprechend setzen:

chmod ug+x pre-revprop-change

Und schon klappts.

Subversion und .htaccess

Und weil wir grad beim Thema Subversion und Apache sind. Ich bin letztens auch über etwas anderes gestolpert.
Wenn sich euer Subverion Client weigert eure .htaccess Datei auszuchecken, dann liegt das vermutlich an der Konfiguration eures Apaches.

Standardmäßig ist folgendes eingestellt:

<FilesMatch "^\.ht">
        Order allow,deny
        Deny from all
</FilesMatch>

Ändert das global(keine gute Idee) oder für euren vhost in:

<FilesMatch "^\.ht">
        Order allow,deny
        Allow from all
</FilesMatch>

Und schon flutscht auch Subversion.

Subversion und das „out of date“ Problem

Hiho,

heute bin ich wieder auf einen sehr nervenden Fehler gestoßen. Da es eine Weile gedauert hat, bis ich eine Lösung gefunden hatte, will ich sie euch nicht vorenthalten.

Folgendes Szenario:

  • du checkst dir ein Repository aus
  • bearbeitest eine Datei
  • updatest deine Arbeitskopie
  • commitest deine Änderungen

Bis hier sollte alles ohne Probleme funktionieren.
Wiederholt man aber die Schritte kann es bei einem bestimmten Szenario zu folgendem Problem kommen.

svn: Commit failed (details follow)
svn: Your file or directory ‚bla.txt‘ is probably out of date
svn: The version resource does not correspond to the resource within the transaction. Either the requested version resource is out of date (needs to be updated), or the requested version resource is newer than the transaction root (restart the commit).

Der Übeltäter ist die Datei „all-wcprops“ im entsprechenden .svn-Verzeichnis, in der sich die Datei befindet.
Eine Lösung wäre diese Datei einfach zu löschen und danach ein Update auszuführen. Das hat aber 2 Nachteile.

  1. Man sollte NIE manuell im .svn-Verzeichnis rumbauen – geht meistens schief
  2. Es ist verdammt nervig, denn der Fehler tritt ständig auf
  3. Damit lindert man nur die Schmerzen, bekämpft aber nicht die Krankheit

Der Grund des Übels liegt nämlich nicht lokal, sondern beim Apache-Server.

Bug: http://subversion.tigris.org/issues/show_bug.cgi?id=1851

Workaround:
Do not put your repository at
i.e. https://svn.myhost.cno/repos/
not https://svn.myhost.cno/

Quelle: http://svn.haxx.se/users/archive-2004-09/0210.shtml

Tja, so einfach kanns manchnal sein.

Ich hoffe, ich konnte jemandem damit helfen.