SVN: Log-Eintrag nach einem Commit ändern

Log-Meldungen werden im Repository als eine Eigenschaft zu jeder Revision beigefügt. Standardmäßig kann diese Eigenschaft (svn:log) nicht mehr bearbeitet werden, sobald ein commit erfolgte. Auch wenn Subversion solche Änderungen der Revision Eigenschaften (wie svn:log eine ist) versucht zu verhindern, gibt es jedoch eine Reihe von Möglichkeiten, um diese Eigenschaft anzupassen.

Für einen Repository-Administrator ist der erste Weg, die Änderung der Eigenschaften zu aktivieren. Dies kann durch ist durch die Schaffung eines hooks „pre-revprop-change“ erfolgen (siehe svnbook). Über die Befehle propedit oder propset lässt sich dann der Log-Eintrag wie folgt anpassen:

$ svn propedit -rN -­-revprop svn:log URL
$ svn propset -rN -­-revprop svn:log "neue Log-Nachricht" URL

wobei N die Revision und URL der Pfad des Repository ist. Wird der Befehl innerhalb einer Arbeitskopie ausgeführt, ist der Wert URL nicht erforderlich.

Zweite Möglichkeit: svnadmin

Die zweite Möglichkeit zur Änderung einer Log-Nachricht kann über svnadmin setlog erfolgen. Hierzu muss der Standort des Repository auf dem Dateisystem angegeben werden:

$ svnadmin setlog REPOS_PATH -rN FILE

wobei REPOS_PATH die Pfadangabe zum Repository, N die Revision und FILE eine Text-Datei mit dem neuen Log-Eintrag ist.

Erhält man folgenden Fehler:

svnadmin: Repository has not been enabled to accept revision propchanges;
ask the administrator to create a pre-revprop-change hook

dann ist der „pre-revprop-change“ Hook nicht vorhanden. Dazu kann auch die Option --bypass-hooks verwendet werden. Allerdings: Vorsichtig! In diesem Fall werde auch Dinge wie E-Mail-Benachrichtigungen über die Änderung oder Backup-Systeme, welche die Revisions beobachten, umgangen.

Quelle: http://subversion.tigris.org/faq.html#change-log-msg

One comment on “SVN: Log-Eintrag nach einem Commit ändern

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.