Die Wikimedia Foundation lädt alle aktiven Projektteilnehmer zur Wahl zum Wikimedia-Kuratorium ein.

Patch (Unix)

aus Wikipedia, der freien Enzyklopädie

Wechseln zu: Navigation, Suche

Patch ist ein Unix-Programm für Textdateien, das eine Datei, die die Unterschiede zwischen Originaldateien und geänderten Dateien enthält, auf die Originaldateien anwendet und sie so auf den Stand der geänderten Dateien bringt. Auch die Datei, die die Unterschiede enthält, wird häufig als Patch bezeichnet. Solche Dateien können z. B. mit dem Programm diff erzeugt werden.

Das originale Programm patch wurde von Larry Wall geschrieben, welcher auch Autor der populären Programmiersprache Perl ist. Die erste Implementierung lief auf Unix-artigen Betriebssystemen, inzwischen wurde es auf zahlreiche Plattformen portiert und ist Teil der meisten integrierten Entwicklungsumgebungen. Das Programm ist im Stande, viele verschiedene Formate von diffs anzuwenden und ist zu einem populären Weg geworden, um unter Entwicklern Änderungen in einem Programm untereinander auszutauschen. Patch wurde besonders populär innerhalb der freien Software-Gemeinschaft, weil es Entwicklern erlaubt, zu einem Projekt schnell und einfach beizutragen. Die meisten Open-Source-Projekte werden auf einem öffentlichen Versionverwaltungs-Server gehosted, von wo aus jeder den Quellcode herunterladen kann. Aus Sicherheitsgründen können nur die Haupt-Entwickler eines Projektes Dateien auf dem Server ändern oder hinzufügen. Patch macht es Entwicklern, die keinen Schreibzugriff auf dem Server haben, möglich ihren eigenen Code zu schreiben, einen Patch daraus zu machen und ihn den Haupt-Entwicklern zu senden, damit diese ihn zum Projekt hinzufügen können.

Um einen Patch, der als diff-Datei erstellt wurde, anzuwenden, muss nachfolgender Befehl in einer Shell ausgeführt werden:

 $ patch -p1 < name_des_Patch.diff

Dieser Befehl bringt Patch dazu, die Änderungen der Dateien, die in der diff-Datei angegeben sind, anzuwenden und den ersten Teil des Pfades zu den Dateien zu überspringen. Patches werden oft so erstellt, dass das Hauptverzeichnis des Quellcode-Baumes in der diff-Datei enthalten ist, sollen die Dateien aber von innerhalb des Hauptverzeichnisses gepatcht werden, muss patch der Parameter "-p1" übergeben werden.

Das Anwenden eines Patches kann mit dem nachfolgenden Befehl wieder rückgängig gemacht werden:

 $ patch -p1 -R < name_des_Patch.diff

Siehe auch

Persönliche Werkzeuge