diff options
Diffstat (limited to 'README.SUBMITTING_PATCH')
-rw-r--r-- | README.SUBMITTING_PATCH | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/README.SUBMITTING_PATCH b/README.SUBMITTING_PATCH new file mode 100644 index 0000000000..07b73bee9e --- /dev/null +++ b/README.SUBMITTING_PATCH @@ -0,0 +1,116 @@ +Submitting Patch for PHP +======================== + +This document describes how to submit a patch for PHP. Since you are +reading this document, you are willing to submit a patch for PHP. +Please keep reading! Submitting a patch for PHP is easy. + +How to create patch? +-------------------- +We are working with CVS. You need to get CVS source to create a patch +that we accept. Visit http://www.php.net/anoncvs.php to get CVS +source. You can check out older versions, but make sure you get +the default branch (i.e. Do not use -r option when you check out the +CVS source) + +Read CODING_STANDARDS file before you start working. + +Now you are ready to create a patch. Modify source to fix a bug in PHP or +add a new feature to PHP. After you finished editing, please test your +patch. Read README.TESTING for testing. + +After you finish testing your patch, take diff file using +"cvs diff > your.patch" command. + +Read README.TESTING for submitting a test script for your patch. This is +not strictly required, but it is preferred to submit a test script along +with your patch. Making new test script is very easy. It also helps us +to understand what you have been fixed or added to PHP. + + +Tips for creating patch +----------------------- +If you would like to fix multiple bugs. It is easier for us if you +could create 1 patch for 1 bug, but this is not strictly required. + +If you would like change/add many lines, it is better to ask module +maintainer and/or php-dev@lists.php.net, or pear-dev@lists.php.net if +you are patching PEAR. Official module maintainers can be found in +EXTENSIONS file in PHP source. + +If you are new to CVS (Concurrent Versions System), visit +http://cvshome.org/ for details. + + +Recommended CVS client settings for creating patch file +------------------------------------------------------ +Recommended ~/.cvsrc file setting is: +------ +cvs -z3 +update -d -P +checkout -P +diff -u -b -w -B +------ +diff -u -b -w -B means: + -b Ignore changes in amount of white space. + -B Ignore changes that just insert or delete blank lines. + -u Use the unified output format. + -w Ignore white space when comparing lines. + +With this CVS setting, you don't have to worry about adding/deleting +newlines and spaces. + + +Check list for submitting patch +------------------------------- + - Did you run "make test" to check if your patch didn't break + other features? + - Did you compile PHP with --enable-debug and check php/webserver + error logs when you test your patch? + - Did you build PHP for multi-threaded web servers. (Optional) + - Did you create test script for "make test"? (Recommended) + - Did you check your patch is unified format and it does not + contain white space changes? (If you are not using recommended + cvs setting) + - Did you update CVS source before you take final patch? + - Did you read the patch again? + + +Where to send your patch? +------------------------- +If you are patching C source, send the patch to php-dev@lists.php.net. +If you are patching a module, you should also send the patch to the +maintainer. Official module maintainers are listed in EXTENSION file +in source. + +If you are pachting PEAR, send the patch to pear-dev@lists.php.net. + +Make sure you add "[PATCH]" prefix to mail subject. Please make sure +attach the patch file even if the patch is really short one. If you +create a test script for your patch, attach it to the same mail. +Finally, explain what has been fixed/added/changed by your patch. + +If you know bug ID that can be closed by your patch, please note the +bug ID number also. + + +How long it will take to get response? +-------------------------------------- +Since we are volunteers, it may take more than a few days to get +response. If you didn't get any response in a few days, please let us +know you have been submitted the patch, but you didn't get any +response. + + +What happens when your patch is applied? +---------------------------------------- +When your patch is applied, it will be noted that the patch is +submitted by you. You may see your email address in ChangeLog file. If +your patch is important to be noted in NEWS file, your patch +description and email address will be noted. + +If you would not like to be noted in ChangeLog and NEWS file, please +let us know when you submit your patch. + + +Thank you for submitting patch for PHP! |