SVN - Ändern Sie die Arbeitskopie so, dass sie auf den neuen SVN-Pfad zeigt


85

Ich habe ein SVN-Repository, das an eine neue Adresse / einen neuen Pfad verschoben wurde. Ich habe jedoch eine Arbeitskopie mit nicht festgeschriebenem Quellcode, die immer noch auf den alten (jetzt ungültigen) Repository-Pfad verweist. Wie ändern Sie eine Arbeitskopie, um auf ein neues Repository zu verweisen?

Antworten:


76

svn switch --relocateist ab Version 1.7 der Subversion veraltet. Verwenden Sie svn relocatestattdessen den Befehl.

Es braucht entweder FROM-PREFIX TO-PREFIX [PATH...]oder TO-URLals Argumente.

Sehen

svn help relocate

für mehr Informationen.


58

Verwenden Sie den svn switchBefehl mit der --relocateBefehlszeilenoption.


1
Vielen Dank. Dies ist, was ich verwendet habe: svn switch - Datei verschieben: /// Benutzer / Benutzer / altes_Repository / Projekt / Trunk-Datei: /// Benutzer / Benutzer / neues_Repository / Projekt / Trunk
Quano

Behebt die URLs in svn: externals nicht. Irgendeine Idee, wie das geht?
Axel Bregnsbo

26

Verwenden von TortoiseSVN

  1. Klicken Sie mit der rechten Maustaste auf die Arbeitskopie und wählen Sie "SVN-Schalter ...".
  2. Auf dem Formular 'Zum Zweig wechseln' Wählen Sie einen neuen SVN-Pfad aus

Befehl verwenden

  1. Konsole öffnen
  2. Navigieren Sie zur Arbeitskopie cd [working copy path]
  3. Schreiben Sie den Befehl svn relocate [new url]

Dies gilt nur bei Verwendung von TortoiseSVN, auf dem auf dem Poster nicht angegeben ist, dass er oder sie verwendet wird.
zck

Hallo @zck, bitte beachte, dass ich 2 Lösungen in 1 Antwort geschrieben habe. Erste TortoiseSVN und die zweite ist Befehl. Dieser Befehl ist für die Subversion im Allgemeinen veraltet. Sie können diese Seite überprüfen.
Ahmed Abdallah

Nun, Ihre Antwort wurde bearbeitet, nachdem ich kommentiert habe, dass sie eine Befehlszeilenmethode enthält. Diese Befehlszeilenantwort wurde bereits im Juni veröffentlicht, sodass sie nicht wiederholt werden muss.
Zck

Nein, ich poste die Antwort in den aktuellen Worten meiner Bearbeitung, nur um die Formatierung zu verbessern. und ich denke, der Befehl, den ich schrieb, ist klarer als der, der im Juni geschrieben wurde
Ahmed Abdallah

Die TortoiseSVN-GUI-Methode erfordert einen Klick auf "Verschieben" und keinen Wechsel. Was angesichts der Befehlszeile Sinn macht. Ich bin mir nicht sicher, was der Schalter tun würde - es schien zu versuchen, auf die alte und die neue URL zuzugreifen, was ich nicht wollte.
Gerard ONeill

12

Präziser sein

svn switch --relocate [complete url of the old repo] [complete url of the new repo] 

Beispielsweise:

svn switch --relocate  http://svn.repo.com:9880/website/branches  http://svnrepo.com/web/branches 

3

Verwenden von TortoiseSVN tortoisesvn docs

  1. Wechseln Sie zum Stammordner der Arbeitskopie
  2. Klicken Sie mit der rechten Maustaste, klicken Sie auf das Untermenü TortoiseSVN, klicken Sie auf Verschieben.
  3. Geben Sie den neuen Pfad ein

1

Sehr einfach :

Schritt 1: Öffnen Sie die Eingabeaufforderung / das Terminal und legen Sie den Arbeitspfad fest

Schritt 2: Führen Sie diese Zeile aussvn switch --relocate http://newurl


0

Ich hatte meinen SVN-Server geändert, um die Umleitung von HTTP zu HTTPS zu erzwingen (und es könnte eine Umleitung zu einer anderen URL gewesen sein), und ich bemerkte, dass dieser svn relocateBefehl viele Probleme mit externen Geräten verursachte. Glücklicherweise stellte ich fest, dass es am einfachsten war, nur einen svn updatezu erstellen, und aufgrund der Umleitung des SVN-Servers wurden alle in der lokalen Arbeitskopie gespeicherten URLs, einschließlich der externen, aktualisiert.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.