Ressourcen aus Release ignorieren

Beim Synchronisieren von Ressourcen kann es vorkommen, dass Sie einige Ressourcen nicht für den Datenstrom freigeben wollen. Es gibt zwei Funktionen für das Ignorieren von Ressourcen, mit deren Hilfe der Benutzer die Ressourcen angeben kann, die von Angleichungs- und Freigabeoperationen ausgeschlossen werden sollen.

Die erste Funktion, die von der Workbench bereitgestellt wird, dient dem globalen Ignorieren. Die zweite ist ein CVS-Funktion, die den Inhalt einer speziellen Datei namens ".cvsignore" liest und anhand dieser Datei bestimmt, welche Ressourcen ignoriert werden sollen.

Vorteile des Ignorierens von Dateien beim Synchronisieren

Es gibt viele Dateien, die ein Benutzer unter Umständen nicht für das Repository freigeben möchte. Externe Editoren können beispielsweise in Ihrem Projekt temporäre Dateien erstellen. Bei der Kompilierung von Dateien .java werden Dateien .class erstellt und analog produzieren viele Erstellungsoperationen binäre Dateien. Diese Dateien können zusammengenommen sehr umfangreich sein. Außerdem können sie bei einer Erstellung erneut generiert werden, was zu vielen abgehenden Änderungen führt. In der Regel sollten solche Dateien nicht mit anderen Mitgliedern in einem Team zusammen benutzt werden oder permanent im Repository vorhanden sein.

Globale Funktion "Ignorieren"

Über die Benutzervorgabenseite "Team" stellt die Workbench eine globale Funktion "Ignorieren" bereit. Es gibt eine Liste von Dateimustern, mit denen Ressourcen abgeglichen werden, bevor sie als Kandidaten für die Versionssteuerung betrachtet. Diese Muster können die Platzhalterzeichen * und ? enthalten. Das Zeichen * steht für eine Folge aus Null oder mehr Zeichen. Das Zeichen ? steht für ein Einzelzeichen.   Beispiel: Das Muster *~ stimmt mit jeder temporären Datei überein, deren Name mit dem Zeichen ~ endet. Alle Dateien oder Verzeichnisse, die mit einem der Muster übereinstimmen, werden bei Angleichungs- oder Freigabeoperationen ignoriert.

Die Muster in der globalen Funktion "Ignorieren" werden während einer Synchronisierungsoperation mit Ressourcennamen abgeglichen. Hierbei muss unbedingt beachtet werden, dass der zur Ressource führende Pfad beim Abgleich nicht berücksichtigt wird. Beispielsweise wird für die Datei "/pfad/zu/datei.txt" nur die Zeichenfolge "datei.txt" mit den Mustern abgeglichen. Diese Funktion ist nicht für die Angabe von vollständig qualifizierten Pfadnamen, sondern von global anwendbaren Mustern gedacht.

CVS-Funktion "Ignorieren"

Der CVS-Client von Eclipse erkennt in jedem Verzeichnis eines Projekts eine Datei namens ".cvsignore"". Dies ist eine CVS-Standardfunktion, und viele vorhandene CVS-Projekte können eine solche Datei enthalten.

Es handelt sich hierbei um eine Textdatei, die eine Liste mit Dateien, Verzeichnissen oder Mustern enthält. Ähnlich wie bei der globalen Funktion "Ignorieren" können die Einträge in der Datei ".cvsignore" die Platzhalterzeichen * und ? enthalten.  Alle Dateien oder Unterverzeichnisse im aktuellen Verzeichnis, die mit einem der Muster übereinstimmen, werden ignoriert. Hierbei muss beachtet werden, dass sich die Semantik dieser Datei von der Semantik der globalen Funktion "Ignorieren" insofern unterscheidet, als sie nur auf Dateien und Verzeichnisse angewendet wird, die sich in demselben Verzeichnis wie die Datei ".cvsignore" selbst befinden. Ein Projekt kann in jedem Verzeichnis eine Datei ".cvsignore" enthalten. Weitere Informationen hierzu finden Sie unter "http:\\www.cvshome.org". 

Wann wird eine Ressource ignoriert?

Sobald eine Ressource der Versionssteuerung unterliegt, kann sie in der Folge nicht mehr ohne weiteres ignoriert werden. Eine Ressource wird zum ersten Mal dann unter die Versionssteuerung gestellt, wenn eine Synchronisierungsoperation für eine Ressource oder einen ihrer Stammordner ausgeführt wird. Bevor Sie die erste Synchronisierungsoperation ausführen, sollten Sie daher festlegen, welche Dateien und Verzeichnisse ignoriert werden sollen, und diese dann zur entsprechenden Funktion "Ignorieren" hinzufügen. Denkbar wäre beispielsweise das folgende Szenario:

  1. Die Datei "file.txt" wird erstellt.
  2. Die Datei "file.txt" wird mit dem Server synchronisiert.
  3. Die Datei "file.txt" oder ein entsprechendes Muster wird zur Datei ".cvsignore" oder zur globalen Funktion "Ignorieren" hinzugefügt.
  4. Die Datei "file.txt" wird geändert.
  5. Die Datei "file.txt" wird mit dem Server synchronisiert.
  6. Die Datei "file.txt" ist jetzt als abgehende Änderung aufgeführt.

Ressourcen ignorieren, die in der Sicht "Synchronisieren" angezeigt werden

Falls Sie die Operation "Team > Mit Datenstrom synchronisieren" ausgewählt, die Freigabe jedoch noch nicht ausgeführt haben, können Sie Ressourcen immer noch ignorieren, und zwar ungeachtet der Tatsache, dass die Workbench diese Dateien bereits wie Ressourcen betrachtet, die der Versionssteuerung unterliegen. Zunächst müssen Sie zu diesem Zweck die Dateien löschen, die ignoriert werden sollen (dies ist normalerweise kein Problem, da zu ignorierende Dateien entweder temporäre Dateien oder die Erstellungsergebnisse von wichtigen Dateien, also der Quelle, sind). Anschließend fügen Sie das Muster für das Ignorieren entweder mit dem globalen oder dem CVS-Mechanismus hinzu. Danach können Sie Ihr Projekt erneut erstellen, damit die ignorierten Dateien zurückgegeben werden, und dann das Projekt mit dem Datenstrom synchronisieren. Jetzt werden die Dateien ignoriert.