Metadaten sollten nicht in der Quellcodeverwaltung verwaltet werden. Sie enthalten hauptsächlich Daten, die für Ihren Arbeitsbereich relevant sind .
Die einzige Ausnahme bilden die .launch
XML-Dateien (Launcher-Definition).
Sie sind in gefunden
[eclipse-workspace]\.metadata\.plugins\org.eclipse.debug.core\.launches
Und sie sollten in Ihr Projektverzeichnis kopiert werden: Wenn Ihr Projekt aktualisiert wird, werden diese Konfigurationen im Dialogfeld "Konfiguration ausführen" angezeigt.
Auf diese Weise können diese Startparameterdateien auch im SCM verwaltet werden.
(Achtung: Do Deaktivieren Sie die Option „Löschen - Konfigurationen , wenn zugehörige Ressource wird gelöscht“ im Run / Starten / Startkonfiguration Einstellungsfenster: Es ist üblich , zu weich löschen ein Projekt , um es wieder zu importieren - zu zwingen , eine Re - Initialisierung der Eclipse-Metadaten. Wenn diese Option aktiviert ist, werden Ihre detaillierten Startparameter entfernt!)
project-dir/.project
project-dir/.classpath
project-dir/.settings/*
sollte sich in Ihrem SCM befinden (insbesondere .project
und .classpath
gemäß der Eclipse-Dokumentation ).
Das Ziel ist, dass jeder seinen SCM-Arbeitsbereich auschecken / aktualisieren und das Eclipse-Projekt in den Eclipse-Arbeitsbereich importieren kann.
Dazu möchten Sie nur relative Pfade in Ihrem .classpath verwenden und verknüpfte Ressourcen verwenden .
Hinweis: Es ist besser, wenn project-dir
auf ein "externes" Projektverzeichnis verwiesen wird, nicht auf ein Verzeichnis, das unter dem Eclipse-Arbeitsbereich erstellt wurde. Auf diese Weise werden die beiden Begriffe (Eclipse-Arbeitsbereich vs. SCM-Arbeitsbereich) klar voneinander getrennt.
Wie ipsquiggle im Kommentar erwähnt und wie ich in einer alten Antwort angedeutet habe , können Sie die Startkonfiguration tatsächlich als freigegebene Datei direkt in Ihrem Projektverzeichnis speichern . Alle Startkonfigurationen können dann wie die anderen Projektdateien versioniert werden.
(Aus dem Blog-Beitrag Tipp: Erstellen und Freigeben von Startkonfigurationen von KD)
common
, wählen Sie auf der RegisterkarteSave as > shared file
. Dadurch wird es direkt im Projektordner abgelegt, sodass es mit dem Rest des Projekts SCM-fähig sein kann..project
vorerst nur für Ihren Arbeitsbereich ignorieren. Entziehen Sie jedoch nicht allen anderen Benutzern die allgemeine Eclipse-Projektdefinition, die sie schnell in ihren Eclipse-Arbeitsbereich importieren können, nur weil Sie zufällig eine zusätzliche Definition haben, die nur Ihren aktuellen Anforderungen entspricht.Ich arbeite derzeit an einem Projekt, bei dem wir die Dateien .project und .cproject unter Quellcodeverwaltung haben. Die Idee war, dass sich Einstellungen in Bezug auf Bibliothekspfade und Linkanweisungen im gesamten Team verbreiten würden.
In der Praxis hat es nicht sehr gut funktioniert. Zusammenführungen treten fast immer in einem Konfliktzustand auf, der außerhalb der Sonnenfinsternis dekonfliktiert werden muss. Anschließend wurde das Projekt geschlossen und erneut geöffnet, damit die Änderungen wirksam werden.
Ich würde nicht empfehlen, sie in der Quellcodeverwaltung zu belassen.
quelle
Es ist nichts wert, dass CDT- Konfigurationsdateien nicht für die Quellcodeverwaltung geeignet sind. Es wurde ein Fehler für .cproject-Dateien gemeldet, die sich sehr häufig ändern und Konflikte verursachen. Siehe Das Freigeben von cdt-Projektdateien im Repository führt immer zu Konflikten .
quelle
Einige Projekte, wie die, die Maven verwenden, generieren die .project-Dateien gerne basierend auf POMs.
Davon abgesehen sollten .metadata NICHT in der Quellcodeverwaltung sein. Ihr Projekt muss eine Entscheidung darüber treffen, ob projectdir / .settings dies tut, basierend darauf, wie Sie Standards und dergleichen verwalten möchten. Wenn Sie Ihren Entwicklern ehrlich vertrauen können, dass sie ihre Umgebung basierend auf dem Standard einrichten, und Sie für kein Projekt etwas Besonderes anpassen müssen, müssen Sie sie nicht einfügen. Ich empfehle, jedes Projekt speziell zu konfigurieren . Auf diese Weise können Entwickler an mehreren Projekten im selben Arbeitsbereich arbeiten, ohne die Standardeinstellungen hin und her ändern zu müssen. Dadurch werden die Einstellungen sehr explizit und überschreiben alle Standardeinstellungen, die den Projektstandards entsprechen.
Der einzige schwierige Teil ist es, sicherzustellen, dass alle synchron bleiben. In den meisten Fällen können Sie die .settings-Dateien jedoch von Projekt zu Projekt kopieren. Wenn es irgendwelche gibt, die Sie speziell in der Quellcodeverwaltung nicht möchten, führen Sie das Äquivalent der Einstellung svn: ignore für sie aus, wenn Ihr SCM dies unterstützt.
quelle
Die .classpath-Datei ist definitiv ein guter Kandidat für das Einchecken in scm, da das manuelle Festlegen eine Menge Arbeit bedeuten kann und für neue Entwickler schwierig sein wird, in das Projekt einzusteigen. Es ist wahr, dass es aus anderen Quellen generiert werden kann. In diesem Fall würden Sie die andere Quelle einchecken.
Die Einstellungen hängen von den Einstellungen ab. Dies ist eine Grauzone, aber einige Einstellungen sind fast obligatorisch und es ist praktisch, ein Projekt auschecken, in Eclipse importieren und alles einrichten und loslegen zu können.
In unserem Projekt verwalten wir daher eine Kopie des Ordners .settings mit dem Namen CVS.settings und haben eine Ameisenaufgabe, ihn in .settings zu kopieren. Wenn Sie das Projekt von CVS erhalten, rufen Sie die Aufgabe 'eclipsify' ant auf, um die Standardeinstellungen in den neuen Ordner .settings zu kopieren. Wenn Sie Einstellungen konfigurieren, die von allen Entwicklern des Projekts benötigt werden, führen Sie diese wieder in den Ordner CVS.settings ein und übergeben Sie diese an CVS. Auf diese Weise wird das Speichern von Einstellungen in SCM zu einem bewussten Prozess. Entwickler müssen diese Einstellungen von Zeit zu Zeit wieder in ihren .settings-Ordnern zusammenführen, wenn große Änderungen eingecheckt werden. Aber es ist ein einfaches System, das überraschend gut funktioniert.
quelle
Ich würde keinen von ihnen sagen. Sie enthalten höchstwahrscheinlich Informationen, die nur für Ihre Workstation relevant sind (ich denke über Pfade für Bibliotheken und alle nach). Was ist auch, wenn jemand in Ihrem Team Eclipse nicht verwendet?
quelle
Erwägen:
Diese sollten in der Versionskontrolle sein, solange Sie sich an projektbezogene Pfade halten. Auf diese Weise können andere Entwickler das Projekt auschecken und sofort mit der Arbeit beginnen, ohne all die Setup-Probleme durchmachen zu müssen, die auch andere Entwickler durchgemacht haben.
Sie könnten versucht sein, .metadata auch in die Versionskontrolle einzubeziehen, damit Eclipse-Entwickler einen gesamten Arbeitsbereich auschecken und ihn mit den richtigen Projekten vorkonfigurieren lassen können. Er enthält jedoch viele benutzerspezifische Informationen, die jederzeit bearbeitet werden können ändern, so würde ich raten, .metadata NICHT einzuschließen. Es ist einfach, einen lokalen Arbeitsbereich zu erstellen, indem Sie alle vorhandenen Eclipse-Projekte importieren.
quelle
Ich habe zu viele Stunden damit verbracht, die Einstellungen für den Eclipse-Arbeitsbereich für neue Kollegen (und mich selbst) zu konfigurieren. Am Ende habe ich schließlich meine eigenen Metadaten auf den neuen Entwicklercomputer kopiert.
Wenn Sie in einem Team arbeiten, sind die folgenden Kandidaten meiner Meinung nach sehr gute Kandidaten, um die Versionskontrolle zu behalten:
quelle