hi, IMHO,
yes with hooks is possible, but here the main problem is add the issue number at commit description
developers solve some issues and forget about add the issue tracker number to comment
here (at my projects) we parse the commit with a php script hook, that found strings like "#SMM-1234567" (#SMM is the project name, 1234567 is the issue id), after founding the script link the commit to issue via rest api
The problem occur when there's no #SMM string in commit
There's no "don't commit" hook at git, at least i didn't see this here, if anyone know if there's a "don't commit" feature at bzr or git :) please share this information :)
The only problem of a "most have issue tracker string", is when developers do some new features not tracked by issue tracker