Grundsätzlich 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 an jede Revision angehängte Eigenschaften gespeichert. Standardmäßig kann die Eigenschaft für Protokollnachrichten (svn: log) nach dem Festschreiben nicht mehr bearbeitet werden. Das liegt daran, dass Änderungen an 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 mehrere Möglichkeiten, wie Subversion eine Revisionseigenschaft ändern kann.
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" (in diesem Abschnitt im Subversion-Handbuch finden Sie weitere Informationen dazu). Der Hook "pre-revprop-change" hat Zugriff auf die alte Protokollnachricht, bevor sie geändert wird, damit sie auf irgendeine Weise erhalten bleibt (z. B. durch Senden einer E-Mail). Sobald Änderungen an den Revisionseigenschaften aktiviert sind, können Sie die Protokollnachricht einer Revision ändern, indem Sie die Option --revprop an svn propedit oder svn propset übergeben.
$svn propedit -r N --revprop svn:log URL
$svn propset -r N --revprop svn:log "new log message" URL
Dabei ist N die Versionsnummer, 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 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. Seien Sie jedoch sehr vorsichtig, wenn Sie sich für diese Option entscheiden. Möglicherweise umgehen Sie solche Dinge wie E-Mail-Benachrichtigungen über die Änderung oder Sicherungssysteme, die die Revisionseigenschaften verfolgen.