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 anlegen und die Änderungen festschreiben.
So erstellen Sie einen Patch in einem CVS-Projekt:
- Wählen Sie die Ressource aus, die die Änderungen enthält, die im Patch enthalten sein sollen. Sie können Ressourcen auswählen, die sich in mehreren Projekten und auf einer beliebigen Ebene befinden, da der Assistent "Patch erstellen" bei der Ausführung im Standardmodus einen Patch für mehrere Projekte erstellen kann. Der Patch muss außerdem für dieselben
Dateiüberarbeitungen angelegt werden, in denen er generiert wurde, damit sichergestellt werden kann, dass
der Patch für die gleiche Ressourcenkontinuität angelegt wird (dies geschieht am einfachsten, wenn Sie den
Patch über eine Version erstellen).
- Wählen Sie im Dialogfenster Team > Patch erstellen... aus. Der Assistent für das Erstellen
von Patches wird geöffnet.
- Wählen Sie aus, wo der Patch gespeichert werden soll:
- 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.
- In Dateisystem speichern - Der Patch wird in der angegebenen Datei im lokalen Dateisystem
platziert.
- 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.
- Zur Vorschau und Feinabstimmung der Patchauswahl erweitern Sie die Baumstruktur "Ressourcen" im Teilfenster "Änderungen". Nur die ausgewählten Elemente werden in den Pfad aufgenommen. Klicken Sie auf Weiter, um die Generierung
des Patches zu konfigurieren.
- Wählen Sie aus, wie der Pfad konfiguriert werden soll:
- Ausgabeformat der Diff-Datei - Diese Option ermöglicht die Auswahl mehrerer gemeinsamer
Diff-Ausgabeformate. Das Unified-Format wird von vielen Tools zum Anlegen von Patches verwendet, einschließlich
Eclipse.
- Stammverzeichnis des Patch-Codes: Mit dieser Option können Sie angeben, auf welche Ebene das Stammverzeichnis des Patch-Codes darstellt. Zur Auswahl stehen die Werte Arbeitsbereich, Projekt und Auswahl.
Bei Verwendung des Wertes Arbeitsbereich können Sie Ressourcen aus mehreren Projekten in den Patch-Code aufnehmen. Dies ist die Standardeinstellung für die Option. Patch-Codes des Arbeitsbereichs können für jede beliebige Ressource im Arbeitsbereich angelegt werden, da sie genügend Informationen enthalten, damit der Assistent "Patch anlegen" die Ressourcen erkennen kann, für die der Patch-Code angelegt werden muss.
Das Stammverzeichnis eines Patch-Codes mit der Einstellung Projekt ist die Projektebene. Dies bedeutet, dass der Patch-Code nur Ressourcen aus 1 Projekt enthalten kann auf für dieses Projekt angelegt werden muss.
Das Stammverzeichnis für Patch-Codes mit der Einstellung Auswahl ist das der jeweils ausgewählten Ressource. Diese Patch-Codes müssen für dieselbe Ressource angelegt werden.
- Klicken Sie auf Fertig stellen.
- Übertragen Sie den Patch dem Projekt entsprechend, das korrigiert werden soll.
So legen Sie einen Patch an:
- 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.
- Wählen Sie im Kontextmenü Team > Patch-Code anlegen... aus. Der Assistent für Ressourcen-Patches
wird geöffnet.
- Geben Sie an, wo der Patch sich befindet:
- 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.
- 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).
- Arbeitsbereich: Der Patch wurde in einer Position im Arbeitsbereich gespeichert.
Klicken Sie auf Weiter, um das Ergebnis für das Anlegen des Patches anzuzeigen.
-
Optionaler Schritt: Dieser Schritt ist nur dann möglich, wenn das Stammverzeichnis des Patch-Codes die Projekt- oder die Auswahlebene ist. Bei Patch-Codes mit dem Arbeitsbereich als Stammverzeichnis wird automatisch mit der Vorschauseite für den Patch-Code fortgefahren.
Auf der Seite "Patchzielspezifikation" sollten Sie die Ressource auswählen, die als Stammverzeichnis des Patch-Codes verwendet werden soll.
- Die Vorschauseite für den Patch-Code zeigt an, ob der Patch erfolgreich für Dateien Ihres Arbeitsbereichs angelegt
werden konnte. Das obere Teilfenster enthält eine Liste der Änderungen, die im Patch-Code enthalten sind.
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 einem möglichen Anlegen des "Hunk".
Es wird
lediglich der Inhalt der Patch-Datei angezeigt.
-
Das markierte Element gibt an, dass ein Patch (oder ein "Hunk") nicht erfolgreich für eine Ressource des
Arbeitsbereichs angelegt werden konnte.
Sie können Patches oder einzelne "Hunks" ausschließen, indem Sie
deren Markierungen aufheben.
-
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, für die der
Patch angelegt wird.
Sie finden die Ursache der Störung in runden Klammern.
Um den vollständigen Patch erfolgreich anzulegen, müssen Sie die Probleme (rote Ausrufezeichen) eliminieren
und alle Elemente markieren, indem Sie die Optionen auf dieser Assistentenseite definieren (siehe "Optionen").
- Wenn Sie alle Schritte ausgeführt haben, klicken Sie auf Fertig stellen, um den Patch anzulegen. Der Arbeitsbereich enthält nun ausgehende Änderungen für jede Datei, die durch den Patch modifiziert wurde.
Optionen für das Anlegen des Patches
Folgende Optionen helfen Ihnen dabei, erfolgreiche Übereinstimmungen für Ihre Patch-Datei zu erhalten:
-
Wechseln Sie zur ersten Seite des Assistenten für Ressourcenpatches zurück, und wählen Sie die korrekte
Ressource aus, für die der Patch angelegt werden soll.
-
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.
-
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.
-
Passen Sie den Wert "Maximaler Fuzz-Faktor" (Patch-Terminologie) an.
Dieser Faktor bestimmt, wie viele Zeilen am Anfang und am Ende des Kontextes bei der Suche nach einer Übereinstimmung ignoriert werden. Der Standardwert ist 2.
-
Verwenden Sie die Option "Patch zurücknehmen" für Patch-Dateien, die in Ihrem Arbeitsbereich bereits angelegt wurden. Diese Option ist außerdem beim Widerrufen und Wiederholen eines Patches nützlich.
-
Bei Arbeitsbereichpatches können Sie mit der Option "Patchziel erneut festlegen" ein anderes Projekt im Arbeitsbereich auswählen, für das die Änderungen des Patch-Codes angelegt werden sollen. Hierzu wählen Sie im oberen Teilfenster ein Projekt aus, und klicken Sie auf die Schaltfläche "Patchziel erneut festlegen". Dies öffnet einen Dialog mit einer Liste aller verfügbaren Projekte im Arbeitsbereich. Wenn Sie ein Projekt auswählen und auf "OK" klicken, werden die Änderungen des Patch-Codes für das ausgewählte Projekt angelegt.

Programmierung im Team mit CVS

Ressourcen vergleichen

CVS