Kann ich SVN-Repositorys von Eclipse aus wechseln?


77

Ich verschiebe mein Subversion-Repository von einem Computer auf einen anderen. Ich habe einige verstreute Arbeitskopien auf verschiedenen Computern und habe festgestellt, dass ich die Arbeitskopien mit dem folgenden Befehl problemlos vom alten auf den neuen Server umschalten kann:

svn --relocate svn://oldServer/repo svn://newServer/repo

Auf einem meiner Computer verwende ich jedoch Eclipse mit Subclipse, und ich verwende in meinen Eclipse-Projekten keine Befehlszeilen-SVN. Meine Frage ist, ob es möglich ist, SVN-Repositorys innerhalb von Eclipse mit Subclipse oder Subversive zu wechseln.

Antworten:


99

Ich denke, Sie müssen in die Perspektive Ihres "Repository-Browsers" gehen. Dort klicken Sie mit der rechten Maustaste auf Ihr aktuelles Repository und "verschieben" es in eine andere Domain.


7
Dies funktionierte perfekt auf der Box, auf der Subclipse ausgeführt wurde, und etwas sehr Ähnliches funktionierte auf der Box mit Subversive. Es stellte sich heraus, dass der Trick bei Subversive darin bestand, die "Standorteigenschaften" im Repository-Browser zu ändern. Vielen Dank!
Brandon Yarbrough

3
Subversive kann nicht protokollübergreifend verschoben werden. Der Wechsel von SVN + SSH zu HTTPS scheint unmöglich. Erstellen Sie weiterhin die SVN + SSH-URL und fordern Sie Anmeldeinformationen an. Wie ist es mit Subclipse?
Ain Tohvri

3
Beachten Sie, dass Sie vorhandene Projekte mit dem alten Repository öffnen müssen, da der Befehl "relocate" nur geöffnete Projekte aktualisiert. Dies ist wichtig, da es nach dem Umzug nicht einfach ist, den Umzug bei geschlossenen Projekten, die Sie verpasst haben, erneut auszuführen. Ich habe diesen Fehler gemacht und musste meine geschlossenen Projekte auslöschen und erneut auschecken.
Cerin

2
@Ain, es hat bei Subclipse 1.6 in Eclipse 3.7 einwandfrei funktioniert. Stellen Sie jedoch sicher, dass Sie einen kennwortlosen SSH-Zugriff auf Ihren Remote-Server einrichten. Andernfalls werden Sie von Subclipse jedes Mal zur Eingabe Ihres Kennworts aufgefordert, da es ausschließlich auf dem lokalen SSH-Client basiert.
Cerin

@Cerin: gute Tipps, danke, werde es versuchen, wenn ich das nächste Mal dabei bin, danke!
Ain Tohvri

15

Verwenden Sie nicht die Option "Team / Switch", sondern wechseln Sie in die Perspektive "SVN-Repository-Erkundung" und ändern Sie den URL-Speicherort dort in den Standorteigenschaften Ihres Repositorys. Funktioniert wie ein Zauber auf Indigo - in meinem Fall mit Subversive.

Bei Verwendung von Subversive wird die Warnung "Die angehängten Projekte werden verschoben, da sich die Repository-Stamm-URL von der zuvor eingegebenen unterscheidet" angezeigt. Dies ist genau das, was Sie möchten. Stellen Sie sicher, dass Sie alle Projekte öffnen, die Sie verschieben möchten, bevor Sie dies tun.

Wenn Sie " Verschieben der verbundenen Projekte können nicht verschoben werden" mit "Verschieben kann nicht durchgeführt werden, da die neue URL auf das andere Repository verweist" erhalten, hat Ihr Repository-Stamm möglicherweise keine Trunk- / Tags- / Branch-Ordner oder solche Ordner auch in Unterordnern. Wenn Sie dann auf der Registerkarte Erweitert die Option Strukturerkennung aktivieren deaktivieren, kann dies hilfreich sein.

Wenn Sie die Meldung "Verschiebung kann nicht durchgeführt werden, weil die neue URL auf das ungültige Repository verweist (falsche URL oder Anmeldeinformationen angegeben)" erhalten, stellen Sie außerdem sicher, dass der Stammpfad in der neuen Repository-URL mit dem Stamm der alten URL übereinstimmt. (Mit anderen Worten: Stellen Sie sicher, dass /new/pathim obigen Screenshot dieselben Unterordner wie in der alten URL vorhanden sind.)


1
Dies ist die richtige Antwort bei neueren Eclipse-Installationen.
Rauli Rajande

13

Klicken Sie einfach mit der rechten Maustaste auf das Projekt-> Team -> Trennen.

Klicken Sie dann mit der rechten Maustaste auf das Projekt -> Team -> Teilen -> auf Ihren neuen SVN.

Das ist es!


4

Wenn Sie in Eclipse Navigator mit der rechten Maustaste auf den Projektnamen klicken, wird ein Untermenü angezeigt. Wählen Sie in diesem Untermenü Team aus, um einige zusätzliche Menüoptionen bereitzustellen. Wählen Sie "Zu einem anderen Zweig / Tag / Revision wechseln ..." und ein Fenster wird angezeigt, in dem Sie den neuen Zweig oder in Ihrem Fall einen neuen Repository-Speicherort angeben können.


Ich habe das Privileg zu kommentieren, daher werde ich darauf hinweisen, dass Stefans Kommentar unten (und Lukes akzeptierte Antwort oben) korrekt sind.
Brandon Yarbrough

Ich habe es versucht und es hat nicht funktioniert: SVN Swtich ist auf ein Problem gestoßen. org.tigris.subversion.javahl.ClientException: svn: ... ist nicht das gleiche Repository wie ...
PiTheNumber

2

Sie können Folgendes tun:

Gehen Sie zur Projekt-Explorer-Ansicht -> klicken Sie mit der rechten Maustaste auf Ihr Projekt -> Team -> wechseln Sie ... und wählen Sie nun die neue URL aus.

Das ist alles!


Dies wird nicht funktionieren, da der Hostname anders ist und es sich beschweren wird, dass die Hierarchie nicht gefunden werden konnte
Jess

1

Ich konnte mich nicht von meiner Sonnenfinsternis entfernen. Ich habe verschiedene Projekte in verschiedenen Zweigen und Tags (schreibgeschützt, nur zum Vergleich verschiedener Versionen) desselben Repositorys. Als sich die IP unseres SVN-Servers änderte, konnte ich über TortoiseSVN umziehen, aber nicht über Subclipse.

Wechsel von http://oldserver/svn/PROJECTNAMEzu http://newserver/svn/PROJECTNAMEIch bekomme:

org.apache.subversion.javahl.CientException: Invalid operation on the current working directory
svn: Cannot relocate 'E:\…\workspaces\PROJECTNAME\tags\modulename\2.4.007\base' as it is not the root of a working copy; try relocating 'E:\…\workspaces\PROJECTNAME\tags\modulename\2.4.007' instead

Ok, aber ich habe keine Kontrolle darüber. Ich endete mit einer Problemumgehung, die meine Hosts-Datei betraf.


1

Gehen Sie in Eclipse zu Fenster -> Perspektive -> Perspektive öffnen -> Andere -> SVN-Repository erkunden. OK klicken

Klicken Sie dann mit der rechten Maustaste auf das Repository, das Sie ändern möchten -> Standorteigenschaften.

Ändern Sie den URL-Klick-Abschluss.

Das ist es!


0

Möglicherweise können Sie die Servernamen einfach in DNS austauschen. Dies ist möglicherweise einfacher als das Wechseln aller Arbeitskopien.


0

Team -> trennen

und

Team -> teilen -> zu Ihrem neuen SVN

Dies ist eine bessere Lösung als ein Wechsel.

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.