User Tools

  • Logged in as: anonymous (anonymous)
  • Log Out

Site Tools


mantisbt:howto_submit_pathces

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
mantisbt:howto_submit_pathces [2007/06/14 08:09] giallumantisbt:howto_submit_pathces [2008/10/29 04:25] (current) – external edit 127.0.0.1
Line 1: Line 1:
-====== DRAFT - How to submit patches to Mantis ======+====== Getting your Patches into Mantis ======
  
 You have identified a bug in a Mantis, and you have developed a solution to correct the defect. So, how do you submit that solution, for inclusion in Mantis? You have identified a bug in a Mantis, and you have developed a solution to correct the defect. So, how do you submit that solution, for inclusion in Mantis?
Line 6: Line 6:
  
 ===== Base your work on the most current source code ===== ===== Base your work on the most current source code =====
 +
 Please be sure to base your patch upon the most recent code in our CVS. This ensures you will be able to properly test your modifications and provide a cleanly applicable patch. Please be sure to base your patch upon the most recent code in our CVS. This ensures you will be able to properly test your modifications and provide a cleanly applicable patch.
  
-More detailed instructions on how to access [[http://sourceforge.net/cvs/?group_id=14963|mantis cvs]]+To get the most current Mantis sources use:
  
-Short version:  +  * For the first checkout
- +
-  * For you first checkout use:+
 <code> <code>
   cvs -d:pserver:anonymous@mantisbt.cvs.sourceforge.net:/cvsroot/mantisbt login   cvs -d:pserver:anonymous@mantisbt.cvs.sourceforge.net:/cvsroot/mantisbt login
Line 18: Line 17:
 </code> </code>
  
 +  * After the first checkout (run this from the ''mantisbt'' directory)
 +<code>
 +  cvs update -dP
 +</code>
 +
 +Please refer to the [[http://sourceforge.net/cvs/?group_id=14963|Mantis page on sourceforge]] for more detailed instructions on how to access CVS.
 +
 +===== Modify and test sources =====
 +Now you are all set-up to make you modifications to sources. Please be sure to:
 +
 +  * Follow the [[http://www.mantisbt.org/guidelines.php|Coding guidelines]] when modifying source code.
 +  * Separate each logical change into its own patch. The rule of thumb is: "one patch for one feature or fix".
 +  * Test the resulting sources to ensure you patch does what it is supposed to, possibly without breaking other stuff ;)
 +  * Make sure your changes do not introduces warnings/notices.  It will help to set the following in config_inc.php during developing:
 +<code php>
 + $g_show_detailed_errors = ON;
 + $g_display_errors = array(
 + E_WARNING => 'halt',
 + E_NOTICE => 'halt',
 + E_USER_ERROR => 'halt',
 + E_USER_WARNING => 'halt',
 + E_USER_NOTICE => 'halt'
 + );
 +</code>
 +   * In case of database related changes upgrade the schema so the upgrader works and avoid breaking support for other DBMSes.
 +
 +===== Generate patch file =====
 +
 +Once the modifications are done, you are ready to generate a patch file. This is usually as simple as:
 +
 +<code>  cvs diff -u > mypatch.patch</code>
 +
 +from the ''mantisbt'' directory (requires an active internet connection)
 +
 +If your modifications also includes added files, please add the ''-N'' option like:
 +
 +<code>  cvs diff -uN > mypatch.patch</code>
 +
 +For non trivial patches, it is recommended to create a zip file which includes the patch created above + all modified and created files.  Some users also include a readme file if necessary.
 +
 +===== Attach to bug report =====
 +
 +Now that the patch is prepared, you now do the following:
 +
 +  * Report an issue if it doesn't already exist.
 +  * Attach the patch / zip file.
 +  * Attach screen shots and description of what the feature does.
 +  * For feature, it really helps to create the Wiki page associated with the issue and start write up the documentation for the feature.
  
-===== generate patch file ===== +Since the patch should be reviewed by a Mantis developer, it will help if you also inform the mantisbt-dev mailing list about the available fix.
-FIXME+
  
-===== attach to bug report ===== +Posts on that list from non-subscribers are possible through services like [[http://news.gmane.org/gmane.comp.bug-tracking.mantis.devel|GMANE]]
-FIXME+
  
 +Thank you for reading this document -- we look forward to your patches! :-)
mantisbt/howto_submit_pathces.1181822984.txt.gz · Last modified: 2008/10/29 04:31 (external edit)

Driven by DokuWiki