Note that since openssh 6.2 you can plug in to sshd for the keys without patching it with the AuthorizedKeysCommand , and there's several utilities around for pulling the authorized keys from LDAP or similar services.
Unfortunately, this doesn't scale, as with the AuthorizedKeysCommand, you are required to output all the keys for that user on stdout. Outputing all of the "git" user's authorized keys lines would be an extremely expensive operation.
From the sshd_config man page: "Specifies a program to be used for lookup of the user's public keys. The program will be invoked with its first argument the name of the user being authorized, and should produce on standard output AuthorizedKeys lines"
"Security experts and democracy proponents say that mainland China’s domestic surveillance operations in Hong Kong are far more extensive than the American effort. But those operations have largely disappeared from public discussion as attention has focused on the many details released by Mr. Snowden."
Eh, I am coming from the perspective of a user, not a VCS developer. I find git repositories way easier to navigate, let alone perform complex operations on, because how they work couldn't make more sense to me.
Being an active user of both git and hg, I also can't think of any features I make extensive use of in git (rebase, feature branches, etc) that I can't get with hg. My workflows in both are pretty much the same, just a saner interface on the hg side. If anything, git doesn't have revsets, a really powerful query language you can use to sift through your history - see http://www.selenic.com/hg/help/revsets
It's based on this patch: https://github.com/wuputahllc/openssh-for-git