Nota: o gitweb não é para clonagem.
É para navegar.
Se você deseja clonar, você teria que definir uma raiz customizada na configuração do seu servidor apache para chamar o gitolite-shell, com o GIT_HTTP_BACKEND definido e apontando para o script git/libexec/git-core/git-http-backend
cgi (fornecido com o git) que permite clone / push / pull na web.
Aqui está um resumo de como isso seria (consulte o versão completa aqui )
# GitHttp on @PORT_HTTP_HGIT@
Listen @PORT_HTTP_HGIT@
<VirtualHost @FQN@:@PORT_HTTP_HGIT@>
ServerName @FQN@
ServerAlias @HOSTNAME@
SetEnv GIT_PROJECT_ROOT @H@/repositories
SetEnv GIT_HTTP_EXPORT_ALL
SetEnv GITOLITE_HTTP_HOME @H@
ScriptAlias /hgit/ @H@/gitolite/bin/gitolite-shell/
SetEnv GIT_HTTP_BACKEND "@H@/usr/local/apps/git/libexec/git-core/git-http-backend"
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Location /hgit>
No seu caso, parece que o filtro de gitolite que descrevi na minha resposta anterior não está completamente implementado. Apenas chamar gitweb.cgi não é suficiente.
Ele exibirá apenas os projetos listados em seu arquivo project.list
, mas sem nenhum filtro de gitolite, o link TXT
exibirá todo o repositório nulo .git no diretório repositories
.