Stellen Sie die Eclipse-Subversion-Projektverbindung wieder her


100

Ich habe ein Projekt in Subversion, das ich mit Eclipse entwickle. Ich habe das ursprüngliche Auschecken aus dem SVN-Repository in Eclipse durchgeführt. Einige Wochen lang war alles in Ordnung, dann erkennt Eclipse (speziell: Subclipse in Ganymede) mein Projekt aus einem unbekannten Grund nicht mehr als unter SVN-Kontrolle. Das Team-Kontextmenü zeigt nur die grundlegenden Menüoptionen "Patch anwenden" / "Dieses Projekt freigeben". Über die Shell kann ich das Projekt weiterhin mit den svn-Befehlszeilentools aktualisieren, sodass ich weiß, dass die svn-Anmeldeinformationen weiterhin funktionieren. Andere Projekte unter Subversion in derselben Kopie von Eclipse funktionieren weiterhin.

Mir ist klar, dass ich die lokale Kopie löschen und erneut auschecken kann, aber ich möchte lieber verstehen, was schief gelaufen ist - beheben Sie das Problem, anstatt die Symptome zu maskieren. Wo speichert Eclipse sein Wissen darüber, welche Projekte unter Versionskontrolle stehen? Ich habe mir die .projectDatei und das .settingsVerzeichnis angesehen, konnte aber keine offensichtliche Erwähnung von svn nature oder Ähnlichem feststellen, selbst in den Projekten, die noch ordnungsgemäß funktionieren.

Antworten:


124

Wenn Sie Sublipse als SVN-Anbieter verwenden, empfehle ich Folgendes

Team -> Projekt teilen reicht normalerweise aus, um die Metadaten zu verbinden.

(vorausgesetzt, die .svn-Dateien sind noch vorhanden, was sie zu sein scheinen, wenn Sie an der Befehlszeile arbeiten können).

Ich hoffe, das hilft, warum das passieren würde. Ich habe keine Ahnung


9
Ich habe das gleiche Problem, aber diese Antwort hilft mir nicht. Eclipse bietet mir an, ein neues Projekt in Subversion zu erstellen. Es besteht keine Möglichkeit, das Projekt erneut zu verbinden.
Migu

1
Bestätigte Vorgehensweise.
Pestaa

1
Vielen Dank für diese Antwort, hat mir viel Zeit gespart. Jetzt kann ich endlich meinen gesamten Arbeitssatz aktualisieren.
Cedric Meury

1
Das hat bei mir funktioniert (mit Eclipse Indigo 64-Bit und Subclipse), danke! Ich wollte nur hinzufügen, dass der Kommentar "unter der Annahme, dass die .svn-Dateien noch vorhanden sind" möglicherweise nicht genau richtig ist. Das heißt, ich war überrascht zu sehen, dass, obwohl mein Projekt immer noch mit meinem Repository verknüpft ist (wie TortoiseSVN bestätigt hat), kein .svn-Verzeichnis im Projektverzeichnis vorhanden war ! Ich hatte immer gedacht, dass es in jedem SVN-gesteuerten Verzeichnis ein solches Verzeichnis gibt, aber ich sehe jetzt, dass dies nicht der Fall ist. Wie auch immer, der Punkt des OP war, dass, wenn sich das Verzeichnis noch in der Konfiguration befindet, dies funktionieren sollte, was gültig erscheint.
Rob Cranfill

1
Arbeitete auch in Subversive ... Danke!
Jaibatrik

23

Ich habe einen einfachen Weg gefunden, das Projekt einfach wieder zu importieren


1
Du bist der Mann ... :) Ich hatte nur die Option "Patch anwenden" und das hat es gelöst ... Warum habe ich nicht daran gedacht :)
IncrediApp


Ich hatte auch nur die Menüoption "Patch anwenden". Reimport hat funktioniert. Irgendwo muss eine Konfigurationsdatei vorhanden sein, die dies bestimmt. Im Nachhinein wünschte ich, ich hätte den relevanten Konfigurationsarbeitsbereich und die Projektdateien / -ordner gesichert, damit ich sehen könnte, was sich geändert hat. Hoffentlich wird die nächste Person, die diese Lösung liest, dies tun und mitteilen, was sich geändert hat.
Pixelstix

7

Nur Team -> Projekt teilen (gemäß der Antwort auf diese Frage von @Paul Whelan) hat bei mir nicht funktioniert. Der Assistent zum Freigeben von Projekten hat sich so verhalten, als ob sich das Projekt noch nicht in SVN befand (obwohl der Ordner .svn für mein Projekt vorhanden war).

Am Ende habe ich das Problem behoben, indem ich die Add-Ons Subversive und JavaHL deinstalliert habe (über Hilfe | Über Eclipse | Schaltfläche Installationsdetails | Registerkarte Installierte Software | Deinstallieren ...) und dann Subversive neu installiert habe. Als ich nach dem Neustart von Eclipse dazu aufgefordert wurde, habe ich mich dafür entschieden, den SVNKit-Connector anstelle des JavaHL-Connectors zu installieren.

Nachdem ich dies getan hatte, erkannte Eclipse beim erneuten Versuch von Team -> Projekt freigeben ... korrekt, dass mein Projekt bereits in SVN vorhanden war, und stellte die Verbindung erfolgreich wieder her.


Warum Projekt teilen? share project veröffentlicht Ihr lokales Projekt auf dem SVN-Server. Wenn Sie etwas lokal haben, das nicht auf den SVN-Computer übertragen werden soll, kann dies zu Problemen führen. Er möchte lediglich die Verbindung wiederherstellen, was anscheinend nicht möglich ist wäre eine neue Kasse, schließlich installieren Subclipse statt subversiv
JBoy

4

Nachtrag: Es stellt sich heraus, dass sich mein Problem manifestiert, wenn ich Eclipse außerhalb des Unternehmens-VPN mit einem Projekt im Arbeitsbereich starte, das an ein SVN-Repository innerhalb des VPN angehängt ist. Glücklicherweise hat das Umschalten der Eclipse-SVN-Plugins von subversiv auf subclipse das Problem gelöst.

Ian


3

Nach Eclipse habe ich die Projekte geschlossen und erneut geöffnet, wodurch das Problem behoben wurde. Alle SVN-Links sind für alle Projekte in meinem Arbeitsbereich wieder verfügbar.


1
Ich habe versucht, das Projekt zu schließen und wieder zu öffnen, aber das hat bei mir nicht funktioniert.
Epu

2

Ich hatte das gleiche Problem und dieses Forum half mir, die richtige Antwort zu finden.

Mein früheres Projekt wurde mit Subclipse konfiguriert. Die neue Sonnenfinsternis war subvesiv.

Die Installation von Subclipse hat mir geholfen, die SVN-Optionen unter Team zurückzubekommen!

Hoffe es hilft jemand anderem.

Grüße

Anshu Prateek


Ich kann Subclipse nicht in Kepler installieren. irgendeine Lösung?
Vivek

1

Ohne zu wissen, auf welcher Plattform Sie sich befinden, weiß ich nicht, ob Ihr Problem meinem ähnlich ist. Ich hatte jedoch kürzlich (tatsächlich auf zwei verschiedenen Plattformen!) Probleme, bei denen ein Update auf Subversive (oder möglicherweise Eclipse selbst, nicht klar) dazu führte, dass die Konnektoren nicht mehr geladen wurden. Ohne die Konnektoren kann Subversive keine Verbindung zu einem Projekt herstellen. Aber Eclipse wird Sie darüber nicht von Ihrem Projekt ausschließen, sondern nur die SVN-bezogene Funktionalität entfernen.

Sehen Sie sich die Fehleransicht an, bei der es sich um ein Protokoll der verschiedenen Fehler von Eclipse handelt (Ausnahmen, die nicht gefunden wurden usw.), und prüfen Sie, ob Zeilen vorhanden sind, die sich auf die subversiven Komponenten beziehen. Leider kann ich eine Lösung nicht wirklich empfehlen - auf meiner Mac OSX-Plattform war es ausreichend, die subversiven Kernelemente und Konnektoren neu zu installieren. Auf meinem Linux-Computer (möglicherweise aufgrund eines Betriebssystem-Upgrades) muss ich Eclipse vollständig neu installieren, da sich zu viel Cruft angesammelt hat, als dass ich es vollständig untersuchen könnte.


1

In der Juno-Veröffentlichung mit Subversive habe ich Folgendes getan:

  • Datei / Import ruft das Import-Popup auf.
  • Wählen Sie dort Allgemeine / Vorhandene Projekte im Arbeitsbereich aus.
  • Im nächsten Bereich wählen Sie das Stammverzeichnis aus. Dann werden Ihnen alle Unterverzeichnisse angezeigt. Sie werden standardmäßig alle ausgewählt.
  • Deaktivieren Sie diejenigen, die Sie nicht möchten.

Anschließend wird Ihr vorhandenes Verzeichnis "importiert", das an Ort und Stelle verwendet werden kann, an dem es sich bereits in Ihrem Arbeitsbereichsverzeichnis befindet.


0

Das gleiche gilt für meinen Fall: .svn-Verzeichnisse waren vorhanden, aber mein Projekt unterstützte keine SVN-Aktionen.

Nach einigem Stöbern stellte sich heraus, dass das subversive Plugin nach einer erzwungenen Sonnenfinsternis einfach verschwunden war.

Die Lösung bestand darin, subversiv (neu) zu installieren, und jetzt ist alles wieder in Ordnung.

Prost v.

UPDATE: Ich habe Eclipse auf eine neue Version umgestellt, auf der das Plugin einfach nicht installiert war. Aus diesem Grund musste ich es von Grund auf neu installieren.


0

Dies funktionierte für mich: Rechtsklick-> TortoiseSVN -> Einstellungen -> Symbolüberlagerungseigenschaften, Shell als Statuscache auswählen . Klicken Sie auf OK, Seite aktualisieren.


0

Ich kann dieses Problem zuverlässig reproduzieren. Dies geschieht beim Auschecken bestimmter Maven-Projekte, indem "Als Maven-Projekt auschecken ..." nicht in dem Ordner ausgeführt wird, der das POM selbst enthält, sondern in einem übergeordneten Verzeichnis (z. B. "Trunk"). In diesem Fall checkt Subclipse das Projekt ohne Beschwerden aus und legt es in einem Arbeitsbereichsverzeichnis mit einem Platzhalternamen wie z maven.1424425443350. In diesem Verzeichnis wird ein Unterverzeichnis mit dem Namen des Maven-Artefakts erstellt. Dies verwirrt sowohl Subclipse als auch Subversion: Subclipse vergisst, wie wir gesehen haben, sofort, dass das Projekt unter Versionskontrolle steht. Wenn Sie svn statusüber die Befehlszeile im maven.1424425443350Verzeichnis aufrufen, werden Sie darüber informiert, dass das Verzeichnis unter Versionskontrolle steht Alle versionierten Dateien fehlen.

Keine der in den anderen Antworten aufgeführten Problemumgehungen funktioniert, wenn Subsclipse aus diesem Grund die SVN-Verbindung vergessen hat. Stattdessen besteht die einzige Lösung darin, das Projekt zu löschen und erneut auszuchecken. Stellen Sie diesmal sicher, dass das Auschecken in einem Verzeichnis durchgeführt wird, das ein POM enthält, und nicht in einem übergeordneten Verzeichnis.

Eine bessere Gesamtlösung wäre, wenn Subclipse sich weigert, "Als Maven-Projekt auschecken ..." für Verzeichnisse auszuführen, die kein POM enthalten, oder Fälle besser zu behandeln, in denen dies ohnehin versucht wird, indem Unterverzeichnisse nach Maven-Projekten durchsucht werden.


0

Ich habe zwei SVNKit-Implementierungen (1.7.x und 1.8.x) gleichzeitig mit der SVN-Repository-Version (1.8.x) verwendet.

Infolgedessen hat das Team -> Projekte freigeben ... immer eine Festschreibungsnachricht angefordert. Offensichtlich wurde SVNKit 1.7.x verwendet, das nicht mit SVN 1.8.x kompatibel ist.

Nach dem Entfernen von SVNKit 1.7.x verwendete Eclipse die einzige verfügbare korrekte SVNKit-Version 1.8.x und alles funktionierte wie erwartet.

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.