On Sun, Sep 30, 2012 at 7:35 AM, 乙酸鋰 [off-list ref] wrote:
I use smart-http on Apache.
If nothing to be pushed / pulled, I do not want password to be
supplied. And allow git ls-remote to run without password
*.git/info/refs?service=git-upload-pack
*.git/info/refs?service=git-receive-pack
I only need authentication on
*.git/git-upload-pack
*.git/git-receive-pack
/etc/apache/httpd.conf
<LocationMatch "^/git/.*/git-(upload|receive)-pack$">
AuthType Basic
AuthName "staff only"
AuthUserFile /etc/apache/apache.pwd
Require valid-user
</LocationMatch>
However this does not work. It does not ask for password at all.
This sounds like a bug in your Apache configuration. I would verify it
prompts for a password as expected before worrying about the Git
client:
curl -v http://localhost/git/blah/git-upload-pack
should fail with a 401 requesting access to "staff only". Once this is
working, git will present authorization as necessary during the
/git-upload-pack|git-receive-pack calls.