Frage

Ich habe einen alten aber sehr wichtigen Subversion-repository, für das ich noch nicht erstellt vom Beginn der üblichen Struktur:Stamm, Zweige, tags.Also alle meine Dateien für dieses repository sind, die Ihren Wohnsitz in der Wurzel.

Ich weiß, wie man erstellen Sie den neuen Ordner und verschieben Sie alle meine Dateien im Kofferraum, aber wenn ich das Tue, werde ich verlieren mein Projekt Geschichte für 3 Jahre, seit 'Stamm' ist ein neuer Ordner.So gibt es eine Lösung, um meine gesamten Projektverlauf von der Wurzel in den Stamm Ordner?

Vielen Dank!

War es hilfreich?

Lösung

Ja.Können Sie svnadmin dump dump wird das repository zusammen mit der Geschichte einer Datei.Dann können Sie svnadmin load zum laden der dump-Datei in den Ordner trunk.Sobald das erledigt ist, löschen Sie die Dateien von der Wurzel.

svnadmin dump REPOS_PATH [-r LOWER[:UPPER]] [--incremental]
svnadmin load REPOS_PATH

Dump Doc: http://svnbook.red-bean.com/en/1.1/re31.html Laden Doc: http://svnbook.red-bean.com/en/1.0/re36.html

Andere Tipps

Sie können verwenden

svn copy http://my.server/svn/repos/ http://my.server/svn/repos/trunk/ \
     -m "Copied"

Erstellen Sie eine Kopie aus dem repository-Stammverzeichnis ( ^ / ), Stamm/ (^/- Stamm), und halten alle Ihre Geschichte, einschließlich des root-Verzeichnis.

Nach, dass Sie können entfernen Sie die Dateien und Unterverzeichnisse, die in den alten Speicherort in den nächsten commit.

Sie wird nicht Locker die Geschichte, wenn Sie svn mv die Dateien.Die Geschichte wird gepflegt.So Sie könnte verwenden Sie den Befehl svnadmin load -parent-dir-trunk redo-repository, aber Sie müssen frische Check-out alles, da haben Sie einen neuen UUID in das neue repository.

svn co http://example.com/repos/
cd repos
svn mkdir trunk tags branches
svn mv a trunk/a
svn mv b trunk/b
svn ci -m 'Moving project into trunk'

Keine ideale Lösung, zugegeben, aber warum nicht erstellen Sie eine ganz neue repository deren Inhalt ist der code von der alten repository, aber formatiert schön in den Kofferraum etc.halten Sie die alt-repository komplett getrennte, aber machen Sie es nur Lesen.

Dies würde zwar ein Schmerz, um sich daran zu erinnern, dass vor dem Tag X, die Sie brauchen, um sich in das alte repository, sondern die neue, wenn Sie brauchen, zu wissen, die Geschichte eines Elements.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top