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 18:21] 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.
  
Line 11: Line 12:
  
   * For the first checkout   * For the first checkout
-  <code>+<code>
   cvs -d:pserver:anonymous@mantisbt.cvs.sourceforge.net:/cvsroot/mantisbt login   cvs -d:pserver:anonymous@mantisbt.cvs.sourceforge.net:/cvsroot/mantisbt login
   cvs -z3 -d:pserver:anonymous@mantisbt.cvs.sourceforge.net:/cvsroot/mantisbt co -P mantisbt   cvs -z3 -d:pserver:anonymous@mantisbt.cvs.sourceforge.net:/cvsroot/mantisbt co -P mantisbt
Line 17: Line 18:
  
   * After the first checkout (run this from the ''mantisbt'' directory)   * After the first checkout (run this from the ''mantisbt'' directory)
-  <code>+<code>
   cvs update -dP   cvs update -dP
 </code> </code>
Line 23: Line 24:
 Please refer to the [[http://sourceforge.net/cvs/?group_id=14963|Mantis page on sourceforge]] for more detailed instructions on how to access CVS. 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 =====+===== Modify and test sources =====
 Now you are all set-up to make you modifications to sources. Please be sure to: 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.   * 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 thing +  * 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 ;)+  * 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 =====
  
-===== generate patch file ===== 
 Once the modifications are done, you are ready to generate a patch file. This is usually as simple as: Once the modifications are done, you are ready to generate a patch file. This is usually as simple as:
  
Line 41: Line 55:
 <code>  cvs diff -uN > mypatch.patch</code> <code>  cvs diff -uN > mypatch.patch</code>
  
-===== attach to bug report ===== +For non trivial patchesit is recommended to create a zip file which includes the patch created above + all modified and created files Some users also include readme file if necessary.
-Now that you patch file is readyall is left to do is attaching the patch to the issue you are fixingSince the patch should be reviewed by Mantis developer, it will help if you also inform the mantisbt-devel mailing list about the available fix.+
  
-Posts on that list from non-subscribers are possible through services like [[http://news.gmane.org/gmane.comp.bug-tracking.mantis.devel|GMANE]]+===== 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.
 +
 +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.
 +
 +Posts on that list from non-subscribers are possible through services like [[http://news.gmane.org/gmane.comp.bug-tracking.mantis.devel|GMANE]]
  
 Thank you for reading this document -- we look forward to your patches! :-) Thank you for reading this document -- we look forward to your patches! :-)
mantisbt/howto_submit_pathces.1181859712.txt.gz · Last modified: 2008/10/29 04:31 (external edit)

Driven by DokuWiki