[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [RFR] po-debconf://openssl/de.po



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



Reply to: