The traditional GitLab way used to be with binaries symlinked from
gitlab-shell/hooks to each repo, then it was moved the the
copy of GitLab Shell in
gitaly-ruby and is prone to disappear, like all things Ruby in Gitlab Shell and/or Gitaly.
In the meanwhile, we started firing these hooks directly from
py-heptapod instead of
hg-git. It's time we gain some independence: the internal API endpoint is the thing to be stable, here.