Ich habe das folgende vereinfachte Setup:
%Vor%ProjectA ist ein Symlink zu ../Repositories/ProjectA-trunk. In einer idealen Welt wäre ich in der Lage, den Link auf ../Repositories/ProjectA-branch umzustellen und dann das Projekt in Eclipse zu aktualisieren und am Zweig zu arbeiten.
In dieser unglücklichen realen Welt löst Eclipse, obwohl es beim Importieren des bestehenden Projekts zunächst anders aussagt, den symbolischen Link auf und behält den absoluten Pfad zum Projekt in Eigenschaften & gt; Resource & gt; Location für "ProjectA", in diesem Fall ~ / Entwicklung / Repositories / ProjektA-Stamm. Daher hat das Wechseln des Symlinks keine Auswirkungen, weil Eclipse jetzt denkt, dass ProjectA in ~ / Entwicklung / Repositories / ProjectA-trunk und nicht ~ / Entwicklung / Repositories / ProjectA lebt.
Hat jemand eine Lösung oder eine Problemumgehung oder einen Vorschlag, wie Sie Ihren Arbeitsbereich einrichten, damit das Arbeiten mit solchen Zweigen funktioniert?
Um das Projekt zunächst zu importieren (unter der Annahme, dass ~/Development/workspace/ProjectA
derzeit nicht existiert):
mv ~/Development/Repositories/ProjectA-trunk ~/Development/workspace/ProjectA
~/Development/workspace/ProjectA
in Eclipse mv ~/Development/workspace/ProjectA ~/Development/Repositories/ProjectA-trunk
ln -s ~/Development/Repositories/ProjectA-trunk ~/Development/workspace/ProjectA
Wann immer Sie den Zweig ändern möchten:
ln -Tfs $BRANCH ~/Development/workspace/ProjectA
Sie können dasselbe erreichen, indem Sie Ihr Repository in einem bereits vorhandenen Arbeitsbereich erstellen. Eclipse verwendet den Ordner .metadata
im Arbeitsbereich, um festzustellen, welche Projekte existieren. Dann haben Sie Ihre Zweige im selben Verzeichnis (z. B. mit git). Immer wenn du die Zweige wechseln willst, musst du git checkout my_branch
und dann in Eclipse aktualisieren.
Mit anderen Worten, verwenden Sie keinen Link, verwenden Sie git
, um die Zweige im selben Verzeichnis zu verwalten.
Edit: Vollständige Prozedur geht so etwas. Klonen Sie das Repo außerhalb von Eclipse (weil der Import Sie anklopft, wenn er sich in Ihrem Arbeitsbereich befindet). Importieren Sie in Ihren Arbeitsbereich. Löschen Sie den Ordner in Ihrem Arbeitsbereich und klonen Sie den Repo in Ihren Arbeitsbereich.
Die Symlink-Einrichtung funktioniert für mich mit Mac OS und Eclipse (Indigo und Juno).
%Vor%wobei foo ein Symlink zu jeder Arbeitskopie ist, die ich verwenden möchte.
%Vor% Beim Wechseln habe ich rm ~/prj/foo
und ln -s
eine andere Arbeitskopie zu foo. Aktualisieren Sie in Eclipse und es nimmt die Änderungen auf.
Der Trick dabei war, dass mein Projekt nur teilweise in Java ist, d. h. ich habe den Arbeitskopie-Hauptordner (foo) und darunter Java, Perl, Postgres und so weiter. Wenn ich auf den Hauptordner verlinke (d. H.% Co_de%), löst Eclipse die symbolischen Links beim Importieren auf und speichert den resultierenden Pfad in den Projekteigenschaften. Nur wenn ich den Symlink zum Java-Ordner im Projekt habe ( ~/Documents/workspace/TheProject -> ~/prj/foo
, behält Eclipse die symbolischen Verknüpfungen bei.
Der ganze Symlink-Kram ist nützlich, wenn Sie verschiedene Arbeitskopien desselben Zweiges / Trunks haben und zwischen ihnen wechseln müssen. Eclipse kann den gleichen Projektnamen nicht zweimal behandeln. Ich möchte meine Änderungen in der Arbeitskopie nicht verlieren. Daher der Symlink.