| .. _bug_reporting: |
| |
| Bug Reporting |
| ############## |
| |
| To maintain traceability and relation between proposals, changes, features, and |
| issues, it is recommended to cross-reference source code commits with the |
| relevant GitHub issues and vice versa. |
| Any changes that originate from a tracked feature or issue should contain a |
| reference to the feature by mentioning the corresponding issue or pull-request |
| identifiers. |
| |
| At any time it should be possible to establish the origin of a change and the |
| reason behind it by following the references in the code. |
| |
| Reporting a regression issue |
| **************************** |
| |
| It could happen that the issue being reported is identified as a regression, |
| as the use case is known to be working on earlier commit or release. |
| In this case, providing directly the guilty commit when submitting the bug |
| gains a lot of time in the eventual bug fixing. |
| |
| To identify the commit causing the regression, several methods could be used, |
| but tree bisecting method is an efficient one that doesn't require deep code |
| expertise and can be used by every one. |
| |
| For this, `git bisect`_ is the recommended tool. |
| |
| Recommendations on the process: |
| |
| * Run ``west update`` on each bisection step. |
| * Once the bisection is over and a culprit identified, verify manually the result. |
| |
| .. _git bisect: |
| https://git-scm.com/docs/git-bisect |