SubmittingPatchforPHP========================ThisdocumentdescribeshowtosubmitapatchforPHP.Sinceyouarereadingthisdocument,youarewillingtosubmitapatchforPHP.Pleasekeepreading!SubmittingapatchforPHPiseasy.Thehardpartismakingitacceptableforinclusionintoourrepository.:-)Howtocreatepatch?--------------------WeareworkingwithCVS.YouneedtogetCVSsourcetocreateapatchthatweaccept.Visithttp://www.php.net/anoncvs.phptogetCVSsource.Youcancheckoutolderversions,butmakesureyougetthedefaultbranch(i.e.Donotuse-roptionwhenyoucheckouttheCVSsource)ReadCODING_STANDARDSfilebeforeyoustartworking.Nowyouarereadytocreateapatch.ModifysourcetofixabuginPHPoraddanewfeaturetoPHP.Afteryoufinishedediting,pleasetestyourpatch.ReadREADME.TESTINGfortesting.Afteryoufinishtestingyourpatch,takedifffileusing"cvs diff > your.patch"command.ReadREADME.TESTINGforsubmittingatestscriptforyourpatch.Thisisnotstrictlyrequired,butitispreferredtosubmitatestscriptalongwithyourpatch.Makingnewtestscriptisveryeasy.ItalsohelpsustounderstandwhatyouhavebeenfixedoraddedtoPHP.Tipsforcreatingpatch-----------------------Ifyouwouldliketofixmultiplebugs.Itiseasierforusifyoucouldcreate1patchfor1bug,butthisisnotstrictlyrequired.Notethoughthatyoumightgetlittleresponse,ifyourpatchistoohardtoreview.Ifyouwouldlikechange/addmanylines,itisbettertoaskmodulemaintainerand/orphp-dev@lists.php.net,orpear-dev@lists.php.netifyouarepatchingPEAR.OfficialmodulemaintainerscanbefoundinEXTENSIONSfileinPHPsource.IfyouarenewtoCVS(ConcurrentVersionsSystem),visithttp://cvshome.org/fordetails.RecommendedCVSclientsettingsforcreatingpatchfile------------------------------------------------------Recommended~/.cvsrcfilesettingis:------cvs-z3update-d-Pcheckout-Pdiff-u------diff-umeans:-uUsetheunifiedoutputformat.WiththisCVSsetting,youdon't have to worry about adding/deletingnewlines and spaces.Check list for submitting patch------------------------------- - Did you run "make test" to check if your patch didn'tbreakotherfeatures?-DidyoucompilePHPwith--enable-debugandcheckphp/webservererrorlogswhenyoutestyourpatch?-DidyoubuildPHPformulti-threadedwebservers.(Optional)-Didyoucreatetestscriptfor"make test"?(Recommended)-Didyoucheckyourpatchisunifiedformatanditdoesnotcontainwhitespacechanges?(Ifyouarenotusingrecommendedcvssetting)-DidyouupdateCVSsourcebeforeyoutakefinalpatch?-Didyoureadthepatchagain?Wheretosendyourpatch?-------------------------IfyouarepatchingCsource,sendthepatchtophp-dev@lists.php.net.Ifyouarepatchingamodule,youshouldalsosendthepatchtothemaintainer.OfficialmodulemaintainersarelistedinEXTENSIONfileinsource.IfyouarepatchingPEAR,sendthepatchtopear-dev@lists.php.net.Pleaseaddtheprefix"[PATCH]"toyouremailsubjectandmakesuretoincludethepatchasaMIMEattachmentevenifitisshort.Testscriptsshouldbeincludedinthesameemail.Explainwhathasbeenfixed/added/changedbyyourpatch.Finally,addthebugId(s)whichcanbeclosedbyyourpatch,ifany.Whathappensafteryousubmityourpatch--------------------------------------Ifyourpatchiseasytoreviewandhasobviouslynoside-effects,itmighttakeuptoafewhoursuntilsomeonecommitsit.Becausethisisavolunteer-driveneffort,morecomplexpatcheswillrequiremorepatienceonyourside.Ifyoudidnotreceiveanyfeedbackinafewdays,pleaseconsiderresubmittingthedescriptionofyourpatch,along-sidewiththesequestions:-Ismypatchtoohardtoreview?Becauseofwhichfactors?-ShouldIsplititupinmultipleparts?-Arethereanyunwantedwhitespacechanges?Whathappenswhenyourpatchisapplied?----------------------------------------YournamewillbeincludedtogetherwithyouremailaddressintheCVScommitlog.Ifyourpatchaffectsend-users,abriefdescriptionandyournamemightbeaddedtotheNEWSfile.ThankyouforsubmittingpatchforPHP!