On Sun, Aug 13, 2006 at 12:19:14AM +0200, Johannes Starosta wrote: > Erstmal danke für deinen Patch. Ich habe allerdings noch eine Frage: > Zu meiner Schande muss ich gestehen, keine Ahnung > zu haben, wie man einen Patch anwendet. Gibt es irgendwo eine Quelle, > die das erklärt? Bei patch(1) verstehe ich leider nur Bahnhof ):
Einen Patch anzuwenden ist trivial. Du musst nur beachten, dass patch standardmäßig von der Standardeingabe liest, so dass man einen Patch in der Regel wie folgt anwendet: $ cat Patch | patch Alternativ kann man die Option -i verwenden, um den Patch zu spezifizieren: $ patch -i Patch (Ein Patch ist übrigens das selbe wie ein Diff und wird mit diff -u erzeugt (-u ist optional, macht ihn aber lesbarer). Beispiel: $ diff -u /tmp/ddtp.E7393/mails/44bsd-rdist.orig /tmp/ddtp.E7393/mails/44bsd-rdist.patched erzeugt: --- /tmp/ddtp.E7393/mails/44bsd-rdist.orig 2006-08-13 05:00:07.000000000 +0200 +++ /tmp/ddtp.E7393/mails/44bsd-rdist.patched 2006-08-13 05:00:07.000000000 +0200 @@ -1,6 +1,6 @@ Description-de.UTF-8: 4.4BSD rdist. - Dies ist das traditionelle rdist von 4.4BSD Lite mit FreeBSD Korrekturen. - Es wird wegen Kompatibiltät mit Dritt-Implementierungen von rdist + Dies ist das traditionelle rdist von 4.4BSD Lite mit FreeBSD-Korrekturen. + Es wird wegen Kompatibilität mit Dritt-Implementierungen von rdist zur Verfügung gestellt. . Dies ist das Binärpaket für 4.4BSD rdist. Standardmäßig verwendet patch die Datei oder das Verzeichnis, was im Patch unter --- steht (die Quelle). Im Beispiel also /tmp/ddtp.E7393/mails/44bsd-rdist.orig. Manchmal (aber selten) will man eine andere Datei patchen, die man dann angeben kann: $ patch -i Patch Datei Sehr häufig muss man jedoch die Option -p angeben, um den Zieldateipfad (/tmp/ddtp.E7393/mails/44bsd-rdist.patched) anzupassen. -p1 entfernt eine Verzeichnishierarchie (/tmp), -p2 zwei (/tmp/ddtp.E7393), ... Hast du die Datei 44bsd-rdist.orig vorliegen, müsstest du $ patch -i Patch -p3 angeben. Oft verwendet man -p1, um Verzeichnisse wie alt/ oder neu/ aus dem Pfad zu entfernen. Achtung: Ich weiß nicht warum, aber -p0 scheint nicht standardmäßig aktiviert zu sein. In der Regel musst du -p0 oder -p1 angeben! Jens -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]