Patch (Unix)

Patch (Unix)

Das Unix-Programm patch manipuliert Quelltext anhand eines Patches. Es ist somit das Gegenstück zu dem Programm diff, das Patches erzeugt.

Inhaltsverzeichnis

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 < name_des_Patch.diff

Dieser Befehl bringt patch dazu, die Änderungen der Dateien, die in dem Patch angegeben sind, anzuwenden und die erste Directory-Komponente 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 -p1 ü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-Machine 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}' name_des_unter_Windows_erzeugten_Patch.diff > name_des_Patch.unix.diff
 $ patch -p1 < name_des_Patch.unix.diff

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем решить контрольную работу

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Patch (UNIX) — patch  программная утилита Unix, предназначенная для переноса правок (изменений) между разными версиями текстовых файлов. Информация о правке обычно содержится в отдельном файле, называемом «правкой» или «файлом правки» (англ. patch file).… …   Википедия

  • Patch (Unix) — patch is a Unix program that updates text files according to instructions contained in a separate file, called a patch file . The patch file (also called a patch for short) is a text file that consists of a list of differences and is produced by… …   Wikipedia

  • patch (UNIX) — patch Разработчик Andreas Gruenbacher, Jim Meyering Операционная система Кроссплатформенное программное обеспечение Последняя версия 2.7 (12 сентября 2012) Лицензия GPL Сайт …   Википедия

  • Patch (Unix) — Patch (informatique) Pour les articles homonymes, voir Patch. Un patch (terme anglais) est une section de code que l on ajoute à un logiciel, pour y apporter des modifications : correction d un bogue, traduction, crack. Le terme officiel en… …   Wikipédia en Français

  • Patch (computing) — Software update redirects here. For the software tool by Apple Inc., see Apple Software Update. For the Unix program, see patch (Unix). For the file format, see diff. A patch is a piece of software designed to fix problems[1] with, or update a… …   Wikipedia

  • Patch — The term patch may refer to:Textiles* Embroidered patch, an embroidered design applied to clothing by organizations or individuals * Eyepatch, used in the treatment of eye disorders, or for aesthetic purposes in covering an injured or missing eye …   Wikipedia

  • Patch (Software) — Ein Patch (von engl. Flicken, in der Bedeutung von Nachbesserung, auch Bugfix) ist eine Korrekturauslieferung für Software oder Daten aus Endanwendersicht, um zum Beispiel Sicherheitslücken zu schließen, Fehler zu beheben oder bislang nicht… …   Deutsch Wikipedia

  • Patch — Das Wort Patch [pæʧ] (engl. für „Flicken“) bezeichnet Patch Clamp Technik, eine elektrophysiologische Technik zur Untersuchung von Ionenkanälen ein medizinisches Implantat; siehe Patch (Medizin) den Patch Test, einen Allergietest, siehe… …   Deutsch Wikipedia

  • UNIX — Ken Thompson und Dennis Ritchie Basisdaten Entwickler …   Deutsch Wikipedia

  • Unix — Kommandozeile (Unix Prompt) Basisdaten Entwickler Ken Thompso …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”