Reporting Boost bugs
- If you know where to look in the source code, make sure the bug isn't already fixed in the latest sources. The most recent version of everything on the Boost web site is available from the boost public subversion repository.
- Search the bug database to make sure we don't already know about the bug. If we do, you can add further information to an existing bug ticket.
- If you have a userid on the Boost Trac server, please log in.
- Even if you don't have a userid, visit the preferences page to enter or confirm an email address at which you can be reached. Most bug reports require some interaction with the reporter, and if we can't follow up with you, chances are good that your efforts at reporting the bug will be wasted.
-
Create a new ticket in the bug tracker.
If possible,
- Fill out all the fields completely, especially the “component” field that identifies the library. That will help ensure your report is noticed by the appropriate developers.
- Attach a minimal and complete program that reproduces the problem. Aside from helping the library maintainer fix the problem, you may find the bug in your own code, which can avoid a costly delay waiting for a response.
If You Have a Fix for the Bug
After completing the steps above,
-
If you are not a boost developer, attach a patch for the code in the unified diff format, along with an explanation of your proposed fix. If you can, make a patch relative to the current subversion state.
To create a patch file:
- Get the latest version of the files you're fixing directly from subversion.
- Make sure that the bug is still present in the code.
- If you got your code directly from subversion, make
your fixes, and then execute “
svn diff > patchfile.patch” from a directory in your working copy that contains all your changes. - Otherwise, make a full recursive copy of a
directory containing the files in question, make your
fixes in the new copy, then execute “
diff -dur olddirectory newdirectory > patchfile.patch”
- If you are a Boost developer,
- If the bug is trivial (e.g. misspelled name, missed
typename, etc.), you can assign the ticket to yourself and check the fix into subversion, inserting “fixes #ticket number” in the log comment to automatically close the ticket. However, please keep the library's maintainer in the loop by adding his Trac userid or email address to the ticket's Cc: field. - Otherwise, create a temporary branch in subversion, make your changes there, and ask the library author(s)/maintainer(s) to review them; if approve the new code, either you or they can integrate the fixes into the main trunk.
- If the bug is trivial (e.g. misspelled name, missed