- Users will generally discover bugs and report them in the OpenG discussion forums or by sending an email to the code's author
- When a bug is submitted to the forums or an OpenG developer, the developer should file a bug report in the official OpenG Bug Tracker
- If the bug originated from a forum post the discussion thread should contain a link to the Bug ID on Sourceforge and the Sourceforge bug should include a link to the discusssion thread
- A bug may only be fixed by an OpenG developer, if the official bug report has been assigned to them in the OpenG Bug Tracker
- Before fixing the bug, a unit test should be added into the ./tests/ folder that exposes the bug via a test failure. Fixing the bug should cause the test to pass.
- Modifications to the source code must be associated with the official Bug ID in the source code commit log message. (See Associating SVN Commits with Tracker Cases).
- When an issue is fixed a comment should be made in the bug report identifying which SVN revisions fix the issue. Ideally, include an SVN repository browse URL such as the following:
- When the issue is fixed an entry should be made in the source code ./docs/ChangeLog-x.x.txt file (where x.x is the version of the library you are working on). This should look like the following:
- [ Bug 1759176 ] SetData function does not unlock data when error in is TRUE
- The status of the bug in the OpenG Bug Tracker should be changed from open to closed and the proper resolution should be set (normally Fixed)
- If the bug originated from a forum post the discussion should be updated with a short note that the bug is fixed.
- If the bug was critical a new release should be build and released immediatly.
- If the bug was medium a new release should be build and released in one month. During that month other bugs should be fixed and new bugs should be fixed if possible.
- If the bug was minor the bug will be included in the next release.
Once all bugs for a release have been resolved you will go on to the next step: Package_Build_and_Release_Process
See Also