2015-01-23 11 views
10

Der Standort des svn repo wurde in eine andere URL geändert, zusätzlich wurden die relativen Pfade von Stamm, Zweigen und Tags ein wenig verschoben. Wenn ich jetzt versuche, svn relocate, bekomme ich diese Nachricht.svn relocate error - ungültiges Verlagerungsziel

Invalid relocation destination: 'https://my-repo-server/new-proj-name/branches/my-branch' (does not point to target)

Ich habe versucht, auf die URL des Repo verlagern, und versuchte es noch einmal mit der URL des Zweiges ich wechseln wollte. Ich habe nicht mit switch --relocate versucht, da das in meiner Version von svn veraltet ist.

Ich glaube, das hätte funktioniert, wenn die Ordnerstruktur nicht auch geändert worden wäre.

+0

Ist es tatsächlich dasselbe Repository an einem neuen Speicherort oder ein neues Repository mit demselben Code? Sind die UUIDs identisch mit 'svn info'? – Ben

+0

Es ist ein neues Repository mit demselben Code und demselben Verlauf. Im Wesentlichen teilen wir das Repository in zwei Teile auf; eine für Front-End-Code und eine für Back-End. – AlexMA

+0

Deshalb funktioniert "relocate" nicht. Verschieben funktioniert nur, wenn Sie das Hosting des * gleichen * Repositorys an einen neuen Speicherort verschieben; eine der Überprüfungen, die durchgeführt werden, bevor das Umsetzen fortgesetzt werden kann (ausführlich im [svn book] (http://svnbook.red-bean.com/en/1.7/svn.ref.svn.c.relocate.html)) , vergleicht die UUID des alten Repositorys mit dem neuen Repository. – Ben

Antwort

10

es mit einer Notlösung Gelöst - aus der Wurzel der Arbeitskopie, löschte den .svn Ordner und lief svn checkout <new-url-of-branch> .

Wenn jemand eine bessere Antwort hat, die nicht mit den .svn Ordnern beinhaltet nicht löschen, Ich werde es auswählen.

+0

http://stackoverflow.com/questions/14656527/svn-switch-from-trunk-to-branch –

+0

Ich musste den Parameter --force verwenden. – ATorras

0

(Dies wurde als Kommentar gemeint @ AlexMA eigene Antwort, aber einige endeten auf seinem eigenen auf.)

Vielleicht kann man die wc.db innerhalb .svn Verzeichnisses mit sqlite3 CLI bearbeiten. Aber zuerst muss man die Struktur der Datenbank herausfinden, um die relevanten Tabellen direkt über SQL zu bearbeiten - einfach wc.db dumpen, die Dump-Datei bearbeiten, zurückladen, wie mit dem Repository Ergebnisse in einer Arbeitskopie, die nicht mehr als solche erkannt wird. Dies kann jedoch weitere Probleme aufwerfen. Nachdem die gesamte Arbeitskopie von den SVN-Entwicklern als entbehrlich angesehen wird, sollten Sie die WC auf die letzte Revision des alten Repositorys aktualisieren, einen neuen WC aus dem neuen Repository mit derselben Revision auschecken und dann alle nicht festgeschriebenen Änderungen von alt nach neu kopieren WC und erstellen Sie alle Änderungslisten neu.