
Configurei o repositório Gerrit na porta não padrão 10002. Gerei minha senha HTTP no Gerrit. Posso clonar com sucesso este repositório através do protocolo HTTP em máquinas Unix e na maioria dos Windows. No entanto, não consigo cloná-lo em algumas instâncias do Windows (Windows 7):
$ git clone http://[email protected]:10002/my-repo
Cloning into 'my-repo'...
fatal: unable to access 'http://[email protected]:10002/my-repo': The requested URL returned error: 403
A clonagem por SSH funciona sem problemas. Preciso que o clone HTTP funcione porque preciso clonar este repositório não apenas em muitas máquinas sem minha chave privada.
Tentei desligar o Firewall do Windows e o Microsoft Security Essentials. As instâncias que não funcionam não possuem nenhum antivírus instalado.
Como verificar o que está bloqueando a conexão do repositório?
Essa questãonão ajuda.
Responder1
Inspecionei os logs de acesso ao meu servidor. Com Msysgit, versão Git-1.9.5-preview20150319
eles eram:
185.28.251.241 - - [28/May/2015:19:31:17 +0200] "GET /my-repo/info/refs?service=git-upload-pack HTTP/1.1" 401 458 "-" "git/1.9.5.msysgit.1"
185.28.251.241 - - [28/May/2015:19:31:22 +0200] "GET /my-repo/info/refs?service=git-upload-pack HTTP/1.1" 403 290 "-" "git/1.9.5.msysgit.1"
Depois de fazer o downgrade do Msysgit para a versão anterior Git-1.9.5-preview20141217
, o repositório pode ser clonado com sucesso. Os logs de acesso são os seguintes:
185.28.251.241 - - [28/May/2015:19:42:08 +0200] "GET /my-repo/info/refs?service=git-upload-pack HTTP/1.1" 401 458 "-" "git/1.9.5.msysgit.0"
185.28.251.241 - - [28/May/2015:19:42:08 +0200] "GET /my-repo/info/refs?service=git-upload-pack HTTP/1.1" 200 1193 "-" "git/1.9.5.msysgit.0"
185.28.251.241 - - [28/May/2015:19:42:08 +0200] "POST /my-repo/git-upload-pack HTTP/1.1" 200 80403 "-" "git/1.9.5.msysgit.0"
Então a solução para mim foi fazer o downgrade do Msysgit para o1.9.5-visualização20141217ou atualize paraGit para Windows 2.x- ambos trabalham.
Veja tambémproblema relacionado.