Mit Patches arbeiten

Mit Patches können Entwickler ihre Arbeit gemeinsam benutzen ohne sie in einem Repository zu speichern. Dies ist nützlich, wenn ein Entwickler zu einem Projekt beitragen will, das über ein Repository gemeinsam benutzt wird, er aber keinen Schreibzugriff für das Repository besitzt. In diesem Fall kann der Entwickler einen Patch erstellen und diesen über E-Mail an einen Entwickler senden, der über Schreibzugriff verfügt oder an einen Programmfehler im Berichtssystem für Programmfehler anhängen, das im Projekt verwendet wird. Diese Entscheidung ist abhängig vom im Projekt definierten Prozess. Ein Entwickler mit Schreibzugriff kann den Patch anschließend im Projekt anwenden und die Änderungen festschreiben.

So erstellen Sie einen Patch in einem CVS-Projekt:

  1. Wählen Sie die Ressource aus, die die Änderungen enthält, die im Patch enthalten sein sollen. Dies kann jeder Ordner sein, doch es ist am einfachsten, das Projekt selbst auszuwählen, da der Patch bei derselben Ressource angewendet werden muss, in der er erstellt wurde. Der Patch muss außerdem bei denselben Dateiüberarbeitungen angewendet werden, in denen er generiert wurde, damit sichergestellt werden kann, dass der Patch in der gleichen Ressourcenkontinuität angewendet wird (dies geschieht am einfachsten, wenn Sie den Patch über eine Version erstellen).
  2. Wählen Sie im Dialogfenster Team > Patch erstellen... aus. Der Assistent für das Erstellen von Patches wird geöffnet.
  3. Wählen Sie aus, wo der Patch gespeichert werden soll:
    1. In Zwischenablage speichern - Der Patch wird in der Zwischenablage platziert, damit er in einen Texteditor (z. B. ein E-Mail-Programm) eingefügt werden kann.
    2. In Dateisystem speichern - Der Patch wird in der angegebenen Datei im lokalen Dateisystem platziert.
    3. Im Arbeitsbereich speichern - Der Patch wird in der angegebenen Datei in einem der bestehenden Workbench-Projekte platziert.
    Im Falle von kleinen Patches ist es sinnvoll, den Patch mit der Zwischenablage zu übertragen, doch in den meisten Fällen ist das lokale Dateisystem die bessere Option. Klicken Sie auf Weiter, um die Generierung des Patches zu konfigurieren.
  4. Wählen Sie aus, wie der Pfad konfiguriert werden soll:
    1. Rekursion zu Unterordnern - Wenn diese Option inaktiviert ist, ist nur das direkt untergeordnete Element der Auswahl im Pfad enthalten. Ansonsten sind alle untergeordneten Elemente enthalten.
    2. Neue Dateien in Patch aufnehmen - Wenn diese Option inaktiviert ist, sind nur Dateien enthalten, die in der CVS-Versionssteuerung sind. Ansonsten sind auch Dateien enthalten, die kürzlich erstellt aber nicht hinzugefügt oder ignoriert wurden.
    3. Ausgabeformat der Diff-Datei - Diese Option ermöglicht die Auswahl mehrerer gemeinsamer Diff-Ausgabeformate. Das Unified-Format wird von vielen Patch-Anwendungstools verwendet, einschließlich Eclipse.
  5. Klicken Sie auf Fertig stellen.
  6. Übertragen Sie den Patch dem Projekt entsprechend, das korrigiert werden soll.

So wenden Sie einen Patch an:

  1. Wählen Sie die Ressource aus, an der der Patch generiert wurde. Diese Ressource muss dieselben Dateiüberarbeitungen enthalten wie die Kontinuität der Ressourcen, in denen der Patch generiert wurde.
  2. Wählen Sie im Kontextmenü Team > Patch-Code anlegen... aus. Der Assistent für Ressourcen-Patches wird geöffnet.
  3. Geben Sie an, wo der Patch sich befindet:
    1. Datei - Der Patch befindet sich in einer Datei im lokalen Dateisystem. Geben Sie den vollständigen Pfad zur Datei ein, oder verwenden Sie die Schaltfläche Durchsuchen..., um die Datei zu suchen.
    2. Zwischenablage - Der Patch befindet sich in der Zwischenablage. Warnung: Es ist sicherer, einen Patch aus einer Datei zu verwenden. Es kann sein, dass Zeilenabschlüße nicht korrekt gehandhabt werden, wenn die Zwischenablage verwendet wird und der Patch auf einer anderen Plattform generiert wurde (z. B. Linux gegenüber Windows).
    Klicken Sie auf Weiter, um das Ergebnis der Patch-Anwendung anzuzeigen.
  4. Das obere Teilfenster zeigt an, ob der Patch erfolgreich an Dateien Ihres Arbeitsbereichs angewendet werden konnte. Wenn Sie ein Blattelement in der Baumstruktur auswählen, zeigt das unterste Teilfenster den Teil der Patch-Datei (in der Patch-Terminologie bekannt als "Hunk") in einer leicht lesbaren, nebeneinander angeordneten Darstellung. Hinweis: Das unterste Teilfenster zeigt keine Voranzeige der Ressourcen in Ihrem Arbeitsbereich nach einer möglichen Anwendung des "Hunk". Es wird lediglich der Inhalt der Patch-Datei angezeigt.
    1. Das markierte Element gibt an, dass ein Patch (oder ein "Hunk") nicht erfolgreich an einer Ressource des Arbeitsbereichs angewendet werden konnte. Sie können Patches oder einzelne "Hunks" ausschließen, indem Sie deren Markierungen aufheben.
    2. Ein rotes Ausrufezeichen zeigt an, dass bei einem Patch oder einem "Hunk" ein Problem aufgetreten ist.
      Dies ist der Fall, wenn der Patch nicht korrekt formuliert wurde oder die Überarbeitung einer oder mehrerer Dateien, an denen der Patch generiert wurde, stimmen nicht mit den Überarbeitungen überein, bei denen der Patch angewendet wird.
      Sie finden die Ursache der Störung in runden Klammern.

      Um den vollständigen Patch erfolgreich anzuwenden, müssen Sie die Probleme (rote Ausrufezeichen) eliminieren und alle Elemente markieren, indem Sie die Optionen auf dieser Assistentenseite definieren (siehe "Optionen").

  5. Wenn Sie alle Schritte ausgeführt haben, klicken Sie auf Fertig stellen, um den Patch anzuwenden. Der Arbeitsbereich enthält nun ausgehende Änderungen für jede Datei, die durch den Patch modifiziert wurde.

Optionen für das Anwenden des Patches

Folgende Optionen helfen Ihnen dabei, erfolgreiche Übereinstimmungen für Ihre Patch-Datei zu erhalten:
  1. Wechseln Sie zur ersten Seite des Assistenten für Ressourcenpatches zurück, und wählen Sie die korrekte Ressource aus, an der der Patch angewendet werden soll.
  2. Wenn ein allgemeines Präfix der in der Patch-Datei gespeicherten Pfadnamen nicht mit den Pfadnamen in Ihrem aktuellen Arbeitsbereich übereinstimmt, können Sie die Option "Führende Pfadnamensegmente ignorieren" auswählen.
  3. Verwenden Sie die Option "Leerzeichen ignorieren", um den Abgleichprozess von Leerzeichenunterschieden zwischen der Patch-Datei und den Dateien in Ihrem Arbeitsbereich unabhängig zu machen.
  4. Passen Sie den Wert "Maximaler Fuzz-Faktor" (Patch-Terminologie) an. Dieser Faktor legt fest, wie weit entfernt von seiner ursprünglichen Zeile ein "Hunk" abgleichen darf. Der Standardwert ist zwei. Wenn ein "Hunk" nicht in der Zeile abgleicht, die in der Patch-Datei angegeben ist, versucht der Assistent, den "Hunk" eine Anzahl von Zeilen vor oder nach der Position abzugleichen, die der "Fuzz"-Zahl entspricht.
  5. Verwenden Sie die Option "Patch zurücknehmen" für Patch-Dateien, die in Ihrem Arbeitsbereich bereits angewendet wurden. Diese Option ist außerdem beim Widerrufen und Wiederholen eines Patches nützlich.

Verwandte Konzepte
Programmierung im Team mit CVS

Verwandte Tasks
Ressourcen vergleichen

Verwandte Referenzinformationen
CVS

 
Copyright IBM Corporation und Andere 2000, 2003