Patch (Unix) - LinkFang.de





Patch (Unix)


Das Kommandozeilenprogramm patch wird vor allem in der Programmierung eingesetzt, um Verbesserungen am Quelltext eines Softwareprojekts anderen Entwicklern zur Verfügung zu stellen. Dabei werden nur die Veränderungen im Quelltext durch einen Software-Patch im Vergleich zu einer älteren Version der entsprechenden Datei benutzt: So kann z. B. ein Programmierer die Ausgabe des diff-Programms einem anderen übermitteln, und dieser benutzt dann die Daten als Eingabe für patch.

Hintergrund

Die erste Implementierung wurde von Larry Wall geschrieben und lief auf Unix-artigen Betriebssystemen. Inzwischen wurde es auf zahlreiche Plattformen portiert und ist Teil des POSIX-Standards und der meisten IDEs. Das Programm kann viele verschiedene Formate von Patches anwenden und ist zu einem populären Weg geworden, unter Entwicklern Änderungen an einem Programm untereinander auszutauschen. patch wurde besonders populär innerhalb der Freie-Software-Gemeinschaft, weil es Entwicklern erlaubt, zu einem Projekt schnell und einfach beizutragen, ohne Schreibzugriff zur Versionsverwaltung des Projektes zu haben.

Anwendung

Um einen Patch anzuwenden, genügt dieser Befehl:

 $ patch -p1 < bearbeitungen.diff

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

Mit dem Parameter -R kann man Änderungen eines einmal angewendeten Patches zurücknehmen.

Interoperabilität mit Windows

Bei Verwendung von Patches, die auf einer Windows-Maschine erzeugt wurden, ist es bisweilen notwendig, das CR/LF-Problem zu behandeln, damit der Patch anwendbar wird. Dies geschieht beispielsweise durch

 $ sed -e '/^Index:/ {N;N;N;s/\r//g}' bearbeitungen_unter_Windows.diff > bearbeitungen.unix.diff
 $ patch -p1 < bearbeitungen.unix.diff

Weblinks


Kategorien: Unix-Software

Quelle: Wikipedia - http://de.wikipedia.org/wiki/Patch (Unix) (Vollständige Liste der Autoren des Textes [Versionsgeschichte])    Lizenz: CC-by-sa-3.0

Änderungen: Alle Bilder mit den meisten Bildunterschriften wurden entfernt. Ebenso alle zu nicht-existierenden Artikeln/Kategorien gehenden internen Wikipedia-Links (Bsp. Portal-Links, Redlinks, Bearbeiten-Links). Entfernung von Navigationsframes, Geo & Normdaten, Mediadateien, gesprochene Versionen, z.T. ID&Class-Namen, Style von Div-Containern, Metadaten, Vorlagen, wie lesenwerte Artikel. Ansonsten sind keine Inhaltsänderungen vorgenommen worden. Weiterhin kann es durch die maschinelle Bearbeitung des Inhalts zu Fehlern gerade in der Darstellung kommen. Darum würden wir jeden Besucher unserer Seite darum bitten uns diese Fehler über den Support mittels einer Nachricht mit Link zu melden. Vielen Dank!

Stand der Informationen: August 201& - Wichtiger Hinweis: Da die Inhalte maschinell von Wikipedia übernommen wurden, ist eine manuelle Überprüfung nicht möglich. Somit garantiert LinkFang.de nicht die Richtigkeit und Aktualität der übernommenen Inhalte. Sollten die Informationen mittlerweile fehlerhaft sein, bitten wir Sie darum uns per Support oder E-Mail zu kontaktieren. Wir werden uns dann innerhalb von spätestens 10 Tagen um Ihr Anliegen kümmern. Auch ohne Anliegen erfolgt mindestens alle drei Monate ein Update der gesamten Inhalte.