A tool for determining which tickets included in a merge might be at risk of regressions
git-risk is a command that will determine which tickets are at risk of regressions from a range of commits. It is most useful when used after a merge to determine which tickets were affected by the merge by searching through the range [<merge-commit>..<least common ancestor(merge-commit)>]. In this mode, it determines the least common ancestor of the commits included in the given merge and reports all tickets identified in the commit messages for all commits in between each of the merged commits and their least common ancestor.
The theory is that, for a given merge commit, regressions will typically be seen in tickets that weren’t previously merged into the main development trunk. Tickets that have already been merged into the main development trunk, and are tested prior to the merge in question, are at a lower risk for regressions. As such, git-risk provides a list of all tickets that haven’t yet been tested after the merge in question, so they can be tested to ensure lower probability of regressions in the happy-path of the code.
git-risk can also be used to report which tickets were involved (or, at least mentioned) within any range of commits.
For any of these to work, you must have a standard commit message format that includes the issue to which a given commit relates. Extraction of the ticket from a commit message is performed using a regular expression, so a great deal of flexibility is available.