And I really don't like the idea of B. I can easily see people mentioning bugs that are related to a commit in the commit message but not directly fixed by it.
Maybe we should start a new branch per-bug instead, and merge the branch when the bug is fixed? That might help with this issue.