Submitting code to OpenSim

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
m (Removed 'Template:' prefix from template includings and/or changed external-link into internal-link)
m (Robot: Cosmetic changes)
Line 3: Line 3:
 
<br />
 
<br />
  
* There are several guidelines to the patch review process.   '''You will need to agree to our [[Contributions_Policy]]''' and be willing to take feedback on the patch.   Not all patches will make it into OpenSimulator for a variety of potential reasons.   OpenSimulator is not trying to be 'everything for everyone' so, often, it's requested that the functionality be implemented in a module that gets it's own project on forge.
+
* There are several guidelines to the patch review process. '''You will need to agree to our [[Contributions Policy]]''' and be willing to take feedback on the patch. Not all patches will make it into OpenSimulator for a variety of potential reasons. OpenSimulator is not trying to be 'everything for everyone' so, often, it's requested that the functionality be implemented in a module that gets it's own project on forge.
  
* Please review the [[Coding standards]] and stick to them in your patch. The only exception should be if the surrounding code does not conform to these guidelines (although in that case, a patch to make it conform would be much appreciated). Patches which do not follow the guidelines may be rejected.
+
* Please review the [[Coding standards]] and stick to them in your patch. The only exception should be if the surrounding code does not conform to these guidelines (although in that case, a patch to make it conform would be much appreciated). Patches which do not follow the guidelines may be rejected.
  
Code is submitted to OpenSim via patches attached to entries in our [http://opensimulator.org/mantis/my_view_page.php Mantis bug tracker]. One way to generate these is by using the Git command line
+
Code is submitted to OpenSim via patches attached to entries in our [http://opensimulator.org/mantis/my_view_page.php Mantis bug tracker]. One way to generate these is by using the Git command line
  
 
  git format-patch <commit hash>^!
 
  git format-patch <commit hash>^!
Line 13: Line 13:
 
This will package up all your git commit changes into a nice easily appliable file.
 
This will package up all your git commit changes into a nice easily appliable file.
  
* Please run the automated tests (via nant test on the command line) before submitting your patch. Patches that add new tests (either to test accompanying patch code or to test existing code) are very welcome.
+
* Please run the automated tests (via nant test on the command line) before submitting your patch. Patches that add new tests (either to test accompanying patch code or to test existing code) are very welcome.
  
* '''Please''' put only one logical change in a patch at a time. Patches that contain more than one logical change tend to be larger, more complex and hence take more time to be applied. At worse, developers will tend not to look at them because it's hard to disentangle all the possible effects.
+
* '''Please''' put only one logical change in a patch at a time. Patches that contain more than one logical change tend to be larger, more complex and hence take more time to be applied. At worse, developers will tend not to look at them because it's hard to disentangle all the possible effects.
  
* In your Mantis, the title line should ideally start with [PATCH]. When you've opened it, change the state to patch included. Once you've put in on a Mantis, you may want to hop on the IRC channels and mention it someone there (though at the moment we're pretty good at getting round to these, since e-mails about newly opened mantis entries are sent to developers automatically).
+
* In your Mantis, the title line should ideally start with [PATCH]. When you've opened it, change the state to patch included. Once you've put in on a Mantis, you may want to hop on the IRC channels and mention it someone there (though at the moment we're pretty good at getting round to these, since e-mails about newly opened mantis entries are sent to developers automatically).
  
 
* Once you've submitted your patch please move the Mantis entry into the '''Patch Included''' state to let us know there's a patch waiting to be reviewed.  
 
* Once you've submitted your patch please move the Mantis entry into the '''Patch Included''' state to let us know there's a patch waiting to be reviewed.  
  
* General turnaround time for patch review is 48 hours. though, it could be up to two weeks depending on the situation. Generally, if nobody comments on your patch within 3-5 days, pop into #opensim on IRC and make sure that you remind them of the PATCH.
+
* General turnaround time for patch review is 48 hours. though, it could be up to two weeks depending on the situation. Generally, if nobody comments on your patch within 3-5 days, pop into #opensim on IRC and make sure that you remind them of the PATCH.
 
+
* If you're looking for an initial piece of code to do, the bugs in Mantis are a very good starting point.  You may want to see if there's anybody on IRC to discuss the difficulty of a particular bug (they do vary, sometimes in unexpected ways).
+
 
+
 
+
  
 +
* If you're looking for an initial piece of code to do, the bugs in Mantis are a very good starting point. You may want to see if there's anybody on IRC to discuss the difficulty of a particular bug (they do vary, sometimes in unexpected ways).
  
 
[[Category:Development]]
 
[[Category:Development]]

Revision as of 20:15, 3 March 2012


  • There are several guidelines to the patch review process. You will need to agree to our Contributions Policy and be willing to take feedback on the patch. Not all patches will make it into OpenSimulator for a variety of potential reasons. OpenSimulator is not trying to be 'everything for everyone' so, often, it's requested that the functionality be implemented in a module that gets it's own project on forge.
  • Please review the Coding standards and stick to them in your patch. The only exception should be if the surrounding code does not conform to these guidelines (although in that case, a patch to make it conform would be much appreciated). Patches which do not follow the guidelines may be rejected.

Code is submitted to OpenSim via patches attached to entries in our Mantis bug tracker. One way to generate these is by using the Git command line

git format-patch <commit hash>^!

This will package up all your git commit changes into a nice easily appliable file.

  • Please run the automated tests (via nant test on the command line) before submitting your patch. Patches that add new tests (either to test accompanying patch code or to test existing code) are very welcome.
  • Please put only one logical change in a patch at a time. Patches that contain more than one logical change tend to be larger, more complex and hence take more time to be applied. At worse, developers will tend not to look at them because it's hard to disentangle all the possible effects.
  • In your Mantis, the title line should ideally start with [PATCH]. When you've opened it, change the state to patch included. Once you've put in on a Mantis, you may want to hop on the IRC channels and mention it someone there (though at the moment we're pretty good at getting round to these, since e-mails about newly opened mantis entries are sent to developers automatically).
  • Once you've submitted your patch please move the Mantis entry into the Patch Included state to let us know there's a patch waiting to be reviewed.
  • General turnaround time for patch review is 48 hours. though, it could be up to two weeks depending on the situation. Generally, if nobody comments on your patch within 3-5 days, pop into #opensim on IRC and make sure that you remind them of the PATCH.
  • If you're looking for an initial piece of code to do, the bugs in Mantis are a very good starting point. You may want to see if there's anybody on IRC to discuss the difficulty of a particular bug (they do vary, sometimes in unexpected ways).
Personal tools
General
About This Wiki