User Tools

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

Site Tools


mantisbt:howto_submit_pathces

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?

By following the guidelines set out below, you will give your solution its best chance of being adopted, in a timely fashion.

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.

To get the most current Mantis sources use:

  • For the first checkout
  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
  • After the first checkout (run this from the mantisbt directory)
  cvs update -dP

Please refer to the 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 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:
	$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'
	);
  • 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:

  cvs diff -u > mypatch.patch

from the mantisbt directory (requires an active internet connection)

If your modifications also includes added files, please add the -N option like:

  cvs diff -uN > mypatch.patch

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.

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 GMANE

Thank you for reading this document – we look forward to your patches! :-)

mantisbt/howto_submit_pathces.txt · Last modified: 2008/10/29 04:25 (external edit)