Patch (Unix)

del.icio.us del.icio.us
Digg Digg
Furl Furl
Reddit Reddit
Rojo Rojo
Add to OnlyWire

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

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 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 den ersten Teil 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.

Weblinks

  • man patch - Die manpage des Programms,
  • patchutils - Zusätzliche Programme um Patches zu verändern,
  • GnuWin32 GnuWin32 liefert Win32-Ports (MS Windows 95/ 98/ ME/ NT/ 2000/ XP/ 2003/ Vista) der GNU Programme, darunter auch patch
  • GNU utilities for Win32 - Eine ziemlich komplette Sammlung älterer GNU Programme als Windows-Portierung (letztes Update 2003), darunter auch patch
  • diffstat - Zeigt Statistiken zur Ausgabe von diff.

This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.


Giant Panda

Mercedes Car
James Bond Guide
This site monitored by SitePinger.net