J'ai désespérément essayé d'obtenir push pour git en passant par le mode "smart-http" en utilisant git-http-backend. Cependant, après de nombreuses heures de test et de dépannage, il me reste encore
error: Cannot access URL http://localhost/git/hello.git/, return code 22
fatal: git-http-push failed`
J'utilise les dernières versions d'Ubuntu (12.04), Apache2 (2.2.22) et Git (1.7.9.5) et j'ai suivi différents didacticiels trouvés sur Internet, comme celui-ci http://www.parallelsymmetry.com/howto/git .jsp .
Mon fichier VHost ressemble actuellement à ceci: 
<VirtualHost *:80>
    SetEnv GIT_PROJECT_ROOT /var/www/git
    SetEnv GIT_HTTP_EXPORT_ALL
    SetEnv REMOTE_USER=$REDIRECT_REMOTE_USER
    DocumentRoot /var/www/git
    ScriptAliasMatch \
            "(?x)^/(.*?)\.git/(HEAD | \
                                            info/refs | \
                                            objects/info/[^/]+ | \
                                            git-(upload|receive)-pack)$" \
            /usr/lib/git-core/git-http-backend/$1/$2
    <Directory /var/www/git>
            Options +ExecCGI +SymLinksIfOwnerMatch -MultiViews
            AllowOverride None
            Order allow,deny
            allow from all
    </Directory>
</VirtualHost>
J'ai changé la propriété du /var/www/gitdossier pour root.www-dataet pour mes référentiels de test, j'ai activé la poussée anonyme en faisant git config http.receivepack true. J'ai également essayé avec des utilisateurs authentifiés mais avec le même résultat.
Les référentiels ont été créés en utilisant:
sudo git init --bare --shared [repo-name]
En regardant le fichier access.log d'apache2, il me semble que WebDAV essaie d'être utilisé et que git-http-backend n'est jamais déclenché:
127.0.0.1 - - [20/May/2012:23:04:53 +0200] "GET /git/hello.git/info/refs?service=git-receive-pack HTTP/1.1" 200 207 "-" "git/1.7.9.5"
127.0.0.1 - - [20/May/2012:23:04:53 +0200] "GET /git/hello.git/HEAD HTTP/1.1" 200 232 "-" "git/1.7.9.5"
127.0.0.1 - - [20/May/2012:23:04:53 +0200] "PROPFIND /git/hello.git/ HTTP/1.1" 405 563 "-" "git/1.7.9.5"
Qu'est-ce que je fais mal? Est-ce un problème avec la version de git et / ou apache que j'utilise peut-être?
BTW: J'ai lu toutes les questions liées à git http sur ServerFault et StackOverflow, et aucune ne m'a fourni de solution, alors ne marquez pas cela comme double.