When GH-xxx is used, GitHub UI renders it directly as a link which is convenient.
Example: https://github.com/python/cpython/commit/8cbffc4d96d1da0fbc38da6f34f2da30c5ffd601 you can click on “GH-14504” and “GH-14515”. Sadly, GitHub is unable to recognize “bpo-37467”.
Our Roundup instances recognizes bpo-xxx and GH-xxx, but recognizes #xxx as a bpo number:
New changeset ebe709dc1d7c1f9f07dc7d77e53674d2500b223e by Jason R. Coombs (Anthony Sottile) in branch '3.7':
bpo-36853: Fix suspicious.py to actually print the unused rules (#13579) (#15653)
“#13579” and “#15653” link to the bug tracker, not to GitHub.
It’s more a practical issues.
Maybe migrating bugs to GitHub will solve some of these problems, but I also expect it will not magically solve all identifiers problems
I expect that “prefix-identifier” reduces the risk of confusion.
A few years ago, Python bugs were hosted on SourceForge. Hopefully, the migration to Roundup succeeded to keep existing identifier. It’s quite common that I have to dig into very old bugs with bug identifier near 1 000 000: likely old SourceForge identifiers.
Note: I will not comment sha1 which may be Mercurial or Git commit identifier…