Patches senden

Wenn Sie ein Package geändert haben, um neue Funktionen hinzu zufügen oder einen Fehler zu korrigieren, sollten Sie diese Änderungen an die Community weitergeben - einige Lizenzen erzwingen dies sogar, und es wird allgemein als unmoralisch angesehen, wenn Sie das nicht tun.

Bevor Sie einen Patch erzeugen, müssen Sie zuerst den aktuellen Quellcode des Packages aus dem CVS laden (im Beispiel gehen wir davon aus, dass das Package-Name Foo_Bar lautet):


cvs -d:pserver:cvsread@cvs.php.net:/repository login

password is phpfi

cvs -d:pserver:cvsread@cvs.php.net:/repository co pear/Foo_Bar

   

Jetzt können Sie ihre Änderungen am aktuellen Quellcode in den betreffenden Dateien durchführen. Achten Sie darauf, dass ihre Änderungen möglichst den Vorgaben in PEAR coding standards entsprechen.

Nachdem Sie den Code geändert haben, testen Sie ihn! Quellcode, der nicht getestet wurde, wird nicht akkzeptiert werden. Wenn Sie absolut sicher sind, dass mit ihren Änderungen keine Probleme auftreten, erzeugen Sie eine unified Diff-Patchdatei mit:

cd pear/Foo_Bar
cvs diff -u >Foo_Bar.diff
   

Die erzeugte .diff-Datei enthält Ihren patch. Das Format der Datei erlaubt einen einfachen Überblick, was geändert wurde.

Im nächsten Schritt müssen Sie den Patch versenden. Dafür gibt es zwei Wege: Sie können einen Bug-Report für das betreffende Package erstellen. Auf der Webseite des Packages auf pear.php.net klicken Sie dazu den "Bugs"-Reiter an. Den Patch fügen Sie in die Fehlerbeschreibung ein. Oder Sie schreiben eine Email an die Mailingliste pear-dev@lists.php.net und ergänzen die EMail-Adresse des/der Package-Maintainer im CC-Feld der Email. Der Betreff der Email sollte mit "[Patch]" beginnen, um klar anzuzeigen, das es sich um einen Patch handelt. Auch sollten Sie eine ausführliche Erklärung ergänzen, was der Patch macht. Vergessen Sie nicht die .diff-Datei an die Email anzuhängen.

Die Maintainer eines Packages sind üblicherweise im Kopf der Quellcode-Dateien angegeben. Ihre Email-Adresse finden Sie auf der Package-Webseite auf http://pear.php.net/.

Wenn Sie Outlook oder Outlook Express benutzen, ändern Sie bitte die Datei-Erweiterung die .diff-Datei auf .txt. Die MIME-Type-Erkennung von Outlook basiert auf der Dateierweiterung und setzt einen Typ ein, der nicht text/plain ist. Emails mit Anhängen, die nicht diesen MIME-Typ haben, werden aber von der Mailinglisten-Software verworfen.

Wenn Ihr Patch mit der Rückwärtskompatibilität bricht, werden die Maintainer des Packages nicht ganz glücklich darüber sein. Deshalb sollten Sie es bei der Korrektur von Fehlern vermeiden, die öffentliche API ernsthaft zu ändern. Allerdings sind API-Änderungen durchaus möglich, wenn sich ein Fehler anders nicht korrigieren läßt oder eine signifikante Verbesserung erreicht wird. Trotzdem sollten Sie dann im Vorfeld mit dem Maintainern Kontakt aufnehmen, bevor Sie sich die ganze Arbeit machen.

Neue Packages schreiben (Previous) Fehler melden (Next)
Last updated: Sun, 19 Dec 2010 — Download Documentation
Do you think that something on this page is wrong? Please file a bug report or add a note.
View this page in:

User Notes:

There are no user contributed notes for this page.