Im Wesentlichen müssen Sie über Administratorrechte (direkt oder indirekt) für das Repository verfügen, um dies zu tun. Sie können das Repository entweder so konfigurieren, dass alle Benutzer dies tun können, oder Sie können die Protokollnachricht direkt auf dem Server ändern.
Protokollnachrichten werden im Repository als Eigenschaften gespeichert, die jeder Revision zugeordnet sind. Standardmäßig kann die Protokollnachrichteneigenschaft (svn: log) nach dem Festschreiben nicht mehr bearbeitet werden . Dies liegt daran, dass Änderungen an den Revisionseigenschaften (von denen svn: log eine ist) dazu führen, dass der vorherige Wert der Eigenschaft dauerhaft verworfen wird, und Subversion versucht, Sie daran zu hindern, dies versehentlich zu tun. Es gibt jedoch verschiedene Möglichkeiten, Subversion dazu zu bringen, eine Revisionseigenschaft zu ändern.
Die erste Möglichkeit besteht darin, dass der Repository-Administrator Änderungen an den Revisionseigenschaften aktiviert. Dazu erstellen Sie einen Hook mit dem Namen "pre-revprop-change" (weitere Informationen hierzu finden Sie in diesem Abschnitt im Subversion-Buch). Der Hook "Pre-Revprop-Change" hat Zugriff auf die alte Protokollnachricht, bevor sie geändert wird, sodass sie auf irgendeine Weise beibehalten werden kann (z. B. durch Senden einer E-Mail). Sobald Änderungen an den Revisionseigenschaften aktiviert sind, können Sie die Protokollnachricht einer Revision ändern, indem Sie den Schalter --revprop an svn propedit oder svn propset übergeben, wie eine der folgenden:
$svn propedit -r N --revprop svn:log URL
$svn propset -r N --revprop svn:log "new log message" URL
Dabei ist N die Revisionsnummer, deren Protokollnachricht Sie ändern möchten, und URL der Speicherort des Repositorys. Wenn Sie diesen Befehl in einer Arbeitskopie ausführen, können Sie die URL weglassen.
Die zweite Möglichkeit zum Ändern einer Protokollnachricht ist die Verwendung von svnadmin setlog.
Dies muss unter Bezugnahme auf den Speicherort des Repositorys im Dateisystem erfolgen. Mit diesem Befehl können Sie kein Remote-Repository ändern.
$ svnadmin setlog REPOS_PATH -r N FILE
Dabei ist REPOS_PATH der Speicherort des Repositorys, N die Revisionsnummer, deren Protokollnachricht Sie ändern möchten, und FILE ist eine Datei, die die neue Protokollnachricht enthält. Wenn der Hook "pre-revprop-change" nicht vorhanden ist (oder Sie das Hook-Skript aus irgendeinem Grund umgehen möchten), können Sie auch die Option --bypass-hooks verwenden. Wenn Sie sich jedoch für diese Option entscheiden, seien Sie sehr vorsichtig. Möglicherweise umgehen Sie beispielsweise E-Mail-Benachrichtigungen über die Änderung oder Sicherungssysteme, die die Revisionseigenschaften verfolgen.