El Subversion FAQ deckt dies ab, verwendet aber einen Haufen verwirrender undefinierter Begriffe wie REPOS_PATH
ohne konkrete Beispiele zu nennen.
Es kann ein paar Versuche dauern, bis es funktioniert, also speichern Sie Ihre aktualisierte Commit-Nachricht in einer Datei. Anders als bei svn-commit.tmp
Dateien, wird Subversion Ihre Eingabe nicht beibehalten, wenn es ein Problem gibt.
Führen Sie in Ihrem Arbeitsverzeichnis
svn propedit -r N --revprop svn:log
um die Commit-Nachricht zu bearbeiten. Wenn das funktioniert, großartig! Aber wahrscheinlich nicht, denn die svn:log
Revisions-Eigenschaft ist unversioniert und Subversion wird Sie standardmäßig daran hindern, sie zu überschreiben, entweder mit der Hook-Skript pre-revprop-change
oder eine Fehlermeldung, dass Sie nicht über einen solchen Haken verfügen.
Um die Hooks zu ändern, benötigen Sie Zugriff auf das Dateisystem, auf dem das Repository gehostet wird. svn info
wird Ihnen das Repository Root angezeigt. Angenommen, es ist ~/svnrepo
.
-
cd
a ~/svnrepo/hooks
-
Gibt es eine pre-revprop-change
oder pre-revprop-change.bat
Drehbuch? Wenn ja, kommentieren Sie vorübergehend die Teil des Skripts aus, der abbricht, wenn Sie versuchen, die svn:log
.
-
Andernfalls, am Windows eine leere Datei mit dem Namen pre-revprop-change.bat
. Hier ist eine Möglichkeit, das zu tun:
copy con pre-revprop-change.bat
^Z
-
Andernfalls führen Sie unter Unix
echo '#!/bin/sh' > pre-revprop-change
chmod +x pre-revprop-change
-
Führen Sie in der Arbeitskopie svn propedit -r N --revprop svn:log
wieder
-
Machen Sie Ihre Änderungen an ~/svnrepo/hooks/svn-revprop-change
( .bat
)
31 Stimmen
Ich wollte diese Frage hochstufen, aber dann habe ich gemerkt, dass ich das schon vor 4 Monaten getan habe :)
6 Stimmen
Wenn es sich um Code handelt, machen Sie einfach ein paar Kommentare und übertragen Sie ihn erneut mit den entsprechenden Kommentaren. Wenn Sie damit einverstanden sind, dass Ihre Kommentare den Fehler widerspiegeln, ist das viel weniger Aufwand und geht viel schneller. Wenn nicht, ist die Lösung von Kamil Kisiel eindeutig der richtige Weg, um es zu tun.
0 Stimmen
Es gibt eine ausgezeichnete
pre-revprop-change
Skript, das es dem übertragenden Benutzer ermöglicht, sein Protokoll bis zu 3 Stunden nach der Übertragung zu ändern. Dies ist ein hervorragender Kompromiss zwischen Flexibilität/genauen Protokollen und der Aufrechterhaltung der Treue des Repositorys: wandisco.com/svnforum/threads/0 Stimmen
Wenn Sie die Datei nicht ändern kann, aber trotzdem eine neue Commit-Nachricht hinzufügen möchte dann können Sie
svn propset dummyproperty 1 yourfile; svn commit yourfile -m yourmessage