Meine aktuelle SVN-Struktur:
Path: .
URL: svn://someaddress.com.tr/project
Repository Root: svn://someaddress.com.tr
Repository UUID: -------------------------------------
Revision: 10297
Node Kind: directory
Schedule: normal
Last Changed Author: ----
Last Changed Rev: 9812
Last Changed Date: 2010-12-20 17:38:48 +0100 (Mon, 20 Dec 2010)
Aber unser Projekt (daher der SVN-Dienst) wird überarbeitet sub.someaddress.com.tr
anstatt someaddress.com.tr
(someaddress.com.tr wird bald an einen anderen Ort umgeleitet).
Da es sich um den Entwicklungsserver handelt, konnte ich mir nicht sicher sein, was ich tun soll. Muss ich verwenden svn switch
oder svn switch --relocate
? Muss ich auch svn root someaddress.com.tr oder den Projektzweig someaddress.com.tr/project wechseln ?
quelle
svn switch --relocate OLD NEW
switch
Ich wusste nicht über den Befehl Bescheid. Die gesamte Dokumentation, die ich online gefunden habe, ist für neuere Versionen.Wenn Sie die URL vorher und nachher durchsuchen, können Sie beruhigt sein:
Die Überprüfung Ihrer Version (um> 1,7 zu sein), um sicherzustellen,
svn relocate
ist die richtige Verwendung:Wenn Ihre Repository-URL-Änderung auch eine Änderung des Protokolls beinhaltet, müssen Sie möglicherweise die Vorher- und Nachher-URL angeben ( siehe auch hier ).
Natürlich alles in einer einzigen Zeile. Danach haben Sie das gute Gefühl, dass alles reibungslos verlief:
Wenn Sie Lust dazu haben, ein bisschen mehr Selbstsicherheit, ist die neue SVN-Repo-URL verbunden und funktioniert:
quelle
In meinem Fall ist der
svn relocate
Befehl (sowiesvn switch --relocate
) aus irgendeinem Grund fehlgeschlagen (möglicherweise wurde das Repo nicht richtig verschoben oder etwas anderes). Ich habe diesen Fehler festgestellt:Ich wollte nicht das gesamte Repository erneut herunterladen, daher habe ich eine Problemumgehung gefunden. In meinem Fall hat es funktioniert, aber im Allgemeinen kann ich mir vorstellen, dass viele Dinge kaputt gehen können (also sichern Sie entweder Ihre Arbeitskopie oder seien Sie bereit, das gesamte Repo erneut auszuchecken, wenn etwas schief geht).
Die Repo-Adresse und ihre UUID werden in der
.svn/wc.db
SQLite-Datenbankdatei in Ihrer Arbeitskopie gespeichert. Öffnen Sie einfach die Datenbank (z. B. im SQLite-Browser), durchsuchen Sie die Tabelle REPOSITORY und ändern Sie die Werte fürroot
unduuid
in die neuen. Sie finden die UUID des neuen Repos durch Ausgabesvn info NEW_SERVER
.Behandeln Sie dies erneut als letzten Ausweg.
quelle
Wenn Sie ein neues leeres Repo festschreiben möchten, können Sie das neue leere Repo auschecken und ein neues Remote-Repo festlegen.
Wenn Sie ein neues leeres Repo auschecken, werden Ihre lokalen Dateien nicht gelöscht.
Versuchen Sie Folgendes: Beispiel: Remote-Repo-URL: https://example.com/SVNTest
cd [YOUR PROJECT PATH] rm -rf .svn svn co https://example.com/SVNTest ../[YOUR PROJECT DIR NAME] svn add ./* svn ci -m"changed repo url"
quelle