How about using 'ln -s' instead of 'cp'?

So when when new version of hook script will be pulled from repo it will be 'updated' in .git/hooks.

Also, while working on `old` branches which don't have this hook nothing will happen after commit because symlink will be broken. Otherwise this will lead us to committing style fixes again and again, more complicated diffs / codereview / merges. 

However, I don't how often it is required to backport something to old branches in buildbot development so my last sentence can be not valid.