Fixing bugs

To submit a patch for a bug in a PEAR package, you have to create a diff of your changes against the latest version of the code. To do this, you can choose between the two following ways:

a) Creating a diff against a local copy

To fix the bug, copy the old version of the corrupted file to lets say file.new and apply the fix to this file. You now have two files: file.php is the original file that still contains the bug. file.new is the same file, but contains your bug fix. To create a diff between this files, you have to use diff -u.

This will result in a file diff.txt in the same directory than file.new.

b) Creating a diff against CVS

If you have checked out a clean and up-to-date version of the PEAR CVS tree from cvs.php.net, you can also use CVS to create the diff:

This will result in a file diff.txt in the same directory than file.php. You don't need to copy file.php to file.new, because you use the original version on the CVS server to create the diff.

Sending the diff

Once you have generated diff.txt in one of the ways mentioned above, you have to send this patch to the PEAR developers mailing list. To do this, attach diff.txt to a new mail message and send it to pear-dev@lists.php.net .

Anmerkung: Please do not integrate long diffs directly into the message body and please do not send HTML mails. If the diff is very long, it is even better to put it somewhere on the web, so we can download it there.

In order to make our lives easier, you should describe the problems that are fixed by your patch and how we can reproduce this problems.

Once you have submitted your patch, the PEAR developers will have a look at it. If it really fixes the bug and does not have any further disadvantages, the patch will be finally applied. If you don't get any reply for a longer period of time, you can send us the patch again.