Annotation of embedaddon/php/README.SUBMITTING_PATCH, revision 1.1

1.1     ! misho       1: Submitting Enhancements and Patches to PHP
        !             2: ==========================================
        !             3: 
        !             4: This document describes how to submit an enhancement or patch for PHP.
        !             5: It's easy!
        !             6: 
        !             7: You don't need any login accounts or special access to download,
        !             8: build, debug and begin submitting PHP, PECL or PEAR code, tests or
        !             9: documentation.  Once you've followed this README and had several
        !            10: patches accepted, commit privileges are often quickly granted.
        !            11: 
        !            12: An excellent article to read first is:
        !            13: http://phpadvent.org/2008/less-whining-more-coding-by-elizabeth-smith
        !            14: 
        !            15: 
        !            16: Online Forums
        !            17: -------------
        !            18: There are several IRC channels where PHP developers are often
        !            19: available to discuss questions.  They include #php.pecl, #php.doc and
        !            20: #pear on the EFNet network and #php-dev-win on FreeNode.
        !            21: 
        !            22: 
        !            23: PHP Patches
        !            24: -----------
        !            25: If you are fixing broken functionality in PHP C source code first
        !            26: create a bug or identify an existing bug at http://bugs.php.net/.  A
        !            27: bug can be used to track the patch progress and prevent your changes
        !            28: getting lost in the PHP mail archives.
        !            29: 
        !            30: If your change is large then create a Request For Comment (RFC) page
        !            31: on http://wiki.php.net/rfc, discuss it with the extension maintainer,
        !            32: and discuss it on the development mail list internals@lists.php.net.
        !            33: RFC Wiki accounts can be requested on
        !            34: http://wiki.php.net/start?do=register.  PHP extension maintainers can
        !            35: be found in the EXTENSIONS file in the PHP source.  Mail list
        !            36: subscription is explained on http://www.php.net/mailing-lists.php.
        !            37: 
        !            38: Information on PHP internal C functions is at
        !            39: http://www.php.net/internals, though this is considered incomplete.
        !            40: Various external resources can be found on the web.  A standard
        !            41: printed reference is the book "Extending and Embedding PHP" by Sara
        !            42: Golemon.
        !            43: 
        !            44: Attach the patch to the PHP bug and consider sending a notification
        !            45: email about the change to internals@lists.php.net.  Also CC the
        !            46: extension maintainer.  Explain what has been changed by your patch.
        !            47: Test scripts should be included.
        !            48: 
        !            49: Please make the mail subject prefix "[PATCH]".  If attaching a patch,
        !            50: ensure it has a file extension of ".txt".  This is because only MIME
        !            51: attachments of type 'text/*' are accepted.
        !            52: 
        !            53: 
        !            54: PHP Documentation Patches
        !            55: -------------------------
        !            56: If you are fixing incorrect PHP documentation first create a bug or
        !            57: identify an existing bug at http://bugs.php.net/.  A bug can be used
        !            58: to track the patch progress and prevent your changes getting lost in
        !            59: the PHP mail archives.
        !            60: 
        !            61: If your change is large, then first discuss it with the mail list
        !            62: phpdoc@lists.php.net.  Subscription is explained on
        !            63: http://www.php.net/mailing-lists.php.
        !            64: 
        !            65: Information on contributing to PHP documentation is at
        !            66: http://php.net/dochowto and http://wiki.php.net/doc/howto
        !            67: 
        !            68: Attach the patch to the PHP bug and consider sending a notification
        !            69: email about the change to phpdoc@lists.php.net.  Explain what has been
        !            70: fixed/added/changed by your patch.
        !            71: 
        !            72: Please make the mail subject prefix "[PATCH]".  Include the bug id(s)
        !            73: which can be closed by your patch.  If attaching a patch, ensure it
        !            74: has a file extension of ".txt".  This is because only MIME attachments
        !            75: of type 'text/*' are accepted.
        !            76: 
        !            77: 
        !            78: PECL Extension Patches: http://pecl.php.net/
        !            79: --------------------------------------------
        !            80: If you are fixing broken functionality in a PECL extension then create
        !            81: a bug or identify an existing bug at http://pecl.php.net/bugs/.  A bug
        !            82: can be used to track the patch progress and prevent your changes
        !            83: getting lost in the PHP mail archives.
        !            84: 
        !            85: If your change is large then create a Request For Comment (RFC) page
        !            86: on http://wiki.php.net/rfc, discuss it with the extension maintainer,
        !            87: and discuss it on the development mail list pecl-dev@lists.php.net.
        !            88: PECL mail list subscription is explained on
        !            89: http://pecl.php.net/support.php.  RFC Wiki accounts can be requested
        !            90: on http://wiki.php.net/start?do=register
        !            91: 
        !            92: Information on PHP internal C functions is at
        !            93: http://www.php.net/internals, though this is considered incomplete.
        !            94: Various external resources can be found on the web.  A standard
        !            95: printed reference is the book "Extending and Embedding PHP" by Sara
        !            96: Golemon.
        !            97: 
        !            98: Update any open bugs and add a link to the source of your patch.  Send
        !            99: the patch or pointer to the bug to pecl-dev@lists.php.net.  Also CC
        !           100: the extension maintainer.  Explain what has been changed by your
        !           101: patch.  Test scripts should be included.
        !           102: 
        !           103: Please make the mail subject prefix "[PATCH] ...".  Include the patch
        !           104: as an attachment with a file extension of ".txt".  This is because
        !           105: only MIME attachments of type 'text/*' are accepted.
        !           106: 
        !           107: 
        !           108: PEAR Package Patches: http://pear.php.net/
        !           109: ------------------------------------------
        !           110: Information on contributing to PEAR is available at
        !           111: http://pear.php.net/manual/en/developers-newmaint.php and
        !           112: http://pear.php.net/manual/en/guide-developers.php
        !           113: 
        !           114: 
        !           115: How to create your PHP, PHP Documentation or PECL patch
        !           116: -------------------------------------------------------
        !           117: PHP and PECL use Subversion (SVN) for revision control.  Read
        !           118: http://www.php.net/svn.php for help on using SVN to get and build PHP
        !           119: source code.  We recommend using a Sparse Directory checkout described
        !           120: in http://wiki.php.net/vcs/svnfaq.  If you are new to SVN, read
        !           121: http://svnbook.red-bean.com.
        !           122: 
        !           123: Generally we ask that bug fix patches work on the current stable PHP
        !           124: development branches and on "trunk".  New PHP features only need to
        !           125: work on "trunk".
        !           126: 
        !           127: Read CODING_STANDARDS before you start working.
        !           128: 
        !           129: After modifying the source see README.TESTING and
        !           130: http://qa.php.net/write-test.php for how to test.  Submitting test
        !           131: scripts helps us to understand what functionality has changed.  It is
        !           132: important for the stability and maintainability of PHP that tests are
        !           133: comprehensive.
        !           134: 
        !           135: After testing is finished, create a patch file using the command:
        !           136: 
        !           137:   svn diff > your_patch.txt
        !           138: 
        !           139: For ease of review and later troubleshooting, submit individual
        !           140: patches for each bug or feature.
        !           141: 
        !           142: 
        !           143: Checklist for submitting your PHP or PECL code patch
        !           144: ----------------------------------------------------
        !           145:  - Update SVN source just before running your final 'diff' and
        !           146:    before testing.
        !           147:  - Add in-line comments and/or have external documentation ready.
        !           148:    Use only "/* */" style comments, not "//".
        !           149:  - Create test scripts for use with "make test".
        !           150:  - Run "make test" to check your patch doesn't break other features.
        !           151:  - Rebuild PHP with --enable-debug (which will show some kinds of
        !           152:    memory errors) and check the PHP and web server error logs after
        !           153:    running your PHP tests.
        !           154:  - Rebuild PHP with --enable-maintainer-zts to check your patch
        !           155:    compiles on multi-threaded web servers.
        !           156:  - Review the patch once more just before submitting it.
        !           157: 
        !           158: 
        !           159: What happens after submitting your PHP, PHP Documentation or PECL patch
        !           160: -----------------------------------------------------------------------
        !           161: If your patch is easy to review and obviously has no side-effects,
        !           162: it might be committed relatively quickly.
        !           163: 
        !           164: Because PHP is a volunteer-driven effort more complex patches will
        !           165: require patience on your side.  If you do not receive feedback in a
        !           166: few days, consider resubmitting the patch.  Before doing this think
        !           167: about these questions:
        !           168: 
        !           169:  - Did I send the patch to the right mail list?
        !           170:  - Did I review the mail list archives to see if these kind of
        !           171:    changes had been discussed before?
        !           172:  - Did I explain my patch clearly?
        !           173:  - Is my patch too hard to review? Because of what factors?
        !           174: 
        !           175: 
        !           176: What happens when your PHP or PECL patch is applied
        !           177: ---------------------------------------------------
        !           178: Your name will likely be included in the SVN commit log.  If your
        !           179: patch affects end users, a brief description and your name might be
        !           180: added to the NEWS file.
        !           181: 
        !           182: Thank you for patching PHP!

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>