Ist es möglich, den Namen im Repository durch svndumpfilter zu ändern?

8

Ist es möglich, das Verzeichnis im SVN-Repository umzubenennen?

Keine neue Revision erstellen, in der dieses Verzeichnis umbenannt wird.

Ich möchte den Namen dieses Verzeichnisses ab der ersten Revision ändern.

Soweit ich verstehe, kann das Dienstprogramm svndumpfilter dafür verwendet werden.

Stimmt es?

Kann mir jemand ein kleines Beispiel geben, wie es geht?

    
Volodymyr Bezuglyy 28.09.2009, 10:55
quelle

2 Antworten

7

Sie sollten svnadmin dump Ihr Repository, die Dump-Datei und svnadmin load die verarbeitete Datei in einem leeren Repo verarbeiten. Kein svndumpfilter benötigt.

%Vor%

Die Dump-Datei kann mit Sed oder einem anderen Tool verarbeitet werden (stellen Sie sicher, dass Binärdaten nicht beschädigt werden) und ersetzen Sie den Verzeichnisnamen. Zum Beispiel:

%Vor%

Sobald Sie mit der Verarbeitung der Speicherauszugsdatei fertig sind:

%Vor%     
fglez 07.10.2009, 10:46
quelle
3

Ich würde nicht empfehlen, sed zu verwenden, da es das Dateiformat nicht kennt und Sie die SVN-Dump-Datei leicht unbrauchbar machen können.

Wenn Sie zusätzlich etwas mehr als nur einen Pfad ersetzen möchten, müssen Sie auch die SHA1- und MD5-Prüfsummen aktualisieren oder einfach entfernen.

Das Ändern eines SVN-Dumps ist wirklich nicht so trivial, wie es auf den ersten Blick scheint.

Ich hatte gestern das selbe Problem und habe zu diesem Zweck ein kleines Programm geschrieben. Ich habe es hier veröffentlicht, damit jeder es benutzen kann:

Ссылка

Es ist freie Software und Sie können es gerne ändern, wenn Sie weitere Funktionen benötigen / benötigen.

Dieses Programm ändert nur Textinhalt (wenn eine Datei - z. B. ein Bild - als Mime-Typ "application / octet-stream" markiert ist, wird sie nicht modifiziert). Und da es das SVN-Dump-Format wirklich liest und versteht, verändert es nicht strukturelle Daten, die zu dem SVN-Dump gehören, anders als der oben genannte Befehl sed.

Für mich ist dieses Programm, wie es derzeit funktioniert, gut beim Umbenennen eines Produkts - wodurch alle Pfade sowie Projektkonfigurationsdateien (= & gt; gradle) und ein paar Dutzend Java-Klassen umbenannt werden.

Ich hoffe, dass dieses Programm auch für andere nützlich ist.

Übrigens. Ich bin mir bewusst, dass diese Frage sehr alt ist, aber ich hoffe, dass meine Antwort anderen, die auf dieses Problem stoßen, jetzt helfen kann.

    
Marco 26.09.2015 03:48
quelle

Tags und Links