#
#
# Git Smart HTTP Support
# git push ONLY
SetEnv GIT_PROJECT_ROOT /srv/git
SetEnv GIT_HTTP_EXPORT_ALL 1
# Expose git-receive-pack and info/refs.
ScriptAliasMatch "^(/.+/(git-receive-pack|info/refs))$" \
/usr/libexec/git-core/git-http-backend$1
# Authenticate against git push.
AuthType Basic
AuthName "Git Push Access"
AuthUserFile ${GIT_HTTP_AUTH_FILE}
Require valid-user
# Deny info/refs push unless it's for git push.
AuthType Basic
AuthName "Git Push Access"
AuthUserFile ${GIT_HTTP_AUTH_FILE}
Require expr %{QUERY_STRING} == "service=git-receive-pack"
Require valid-user
# Explicitly deny git clone/fetch just in case.
Require all denied