Ich möchte eine große Anzahl von SVN-Commit-Nachrichten in eine andere Struktur umschreiben, z. B. eine Kategorie voranstellen. Von:
"foo" now accepts "bar" format for connection string.
Ich will
core - database - "foo" now accepts "bar" format for connection string.
Gibt es eine einfache Möglichkeit, dies zu tun, ohne das gesamte Repository mit zu sichern svndumpfilter
?
Ich arbeite mit TortoiseSVN auf Client-Seite und VisualSVN auf Server-Seite. (VisualSVN ist ein Wrapper um den Klassiker svn
, mit dem ich auch über die Befehlszeile sprechen kann.)
quelle
hooks
Ordner am Speicherort des Repositorys navigieren und ihn in umbenennenpre-revprop-change.tmpl
,pre-revprop-change.bat
damit er funktioniert.Sie können Protokollnachrichten natürlich rückwirkend ändern, dies wird in den FAQ behandelt . Ich bin nicht sicher, wie die Befehlszeilenschnittstelle für VisualSVN funktioniert, aber für Vanilla SVN wäre der Befehl
Wenn Sie dies für alle Revisionen tun möchten, ohne das Repository zu sichern und neu zu laden, können Sie diesen Befehl per Skript ausführen, um eine Liste aller Revisionen zu bearbeiten. Abhängig von der Größe Ihres Repositorys würde dies einige Zeit in Anspruch nehmen. Im Prinzip gibt es jedoch keinen Grund, warum Sie dies nicht tun können, und es ist kein Speicherauszug und kein erneutes Laden erforderlich.
Außerdem verfügt Vanilla SVN über einen Befehl,
svnlook
der eine Art Verwaltungstool darstellt, das direkt mit den Repository-Dateien zusammenarbeitet. Dieses Tool versteht keine URLs (Sie müssen Zugriff auf das Repository auf Dateisystemebene haben), ist jedoch viel schneller. Die Syntax ist etwas anders, aber Sie können Eigenschaften mit diesem Tool auf die gleiche Weise ändern.quelle
svn propedit -r N --revprop svn:log
, um die Nachricht in meinem Editor ändern zu können.set SVN_EDITOR=notepad.exe
Ja, das können Sie, aber Sie müssen es zuerst im Repository aktivieren.
Im Repository befindet sich im Hooks-Verzeichnis eine Datei mit dem Namen pre-revprop-change.tmpl. Es enthält einige Seiten mit Kommentaren zu den Funktionen und ist so eingerichtet, dass nur Änderungen an den Protokolleigenschaften zulässig sind. Um es zu aktivieren, benennen Sie die Datei in pre-revprop-change um und machen Sie sie ausführbar (ich gehe von einer von POSIX gehosteten Subversion aus. Wenn Sie Windows zum Hosten verwenden, ist diese Meldung möglicherweise hilfreich).
Sobald das Repository dies zulässt, können Sie mit Tortoise die Protokollnachricht für ein Commit über das Kontextmenü eines Commits ändern oder die Befehlszeile verwenden.
quelle
Verwendung
svn propset
auf demsvn:log
Grundstück. Beispiele im SVN-Buch .quelle
svn propedit -r N --revprop svn:log URL
URL
oben ist optional, wenn Sie sich bereits in einem Arbeitsverzeichnis befinden. Daraufhin wird ein Editor angezeigt, damit die Nachricht geändert werden kann.quelle
Ich bin gerade auf diesen Beitrag mit dem genauen Problem gestoßen, mit Toroise SVN für Client und VisualSVN auf einem Windows-Server.
Wenn die Fehlermeldung "Eine DAV-Anforderung ist fehlgeschlagen" angezeigt wird, sehen Sie sich die Antwort von Andrew Aylett an und bearbeiten Sie "pre-revprop-change.tmpl" in Ihrem Repository-Hooks-Unterverzeichnis.
Sobald dies erledigt ist, sollte das Klicken auf "Protokollnachricht bearbeiten" im Kontextmenü endlich funktionieren!
quelle