Nota: mentre il caso d'uso descritto riguarda l'uso di sottomoduli all'interno di un progetto, lo stesso vale per un normale clone di un repository su HTTP.
Ho un progetto sotto controllo Git. Vorrei aggiungere un sottomodulo:
git submodule add http://github.com/jscruggs/metric_fu.git vendor/plugins/metric_fu
Ma ottengo
...
got 1b0313f016d98e556396c91d08127c59722762d0
got 4c42d44a9221209293e5f3eb7e662a1571b09421
got b0d6414e3ca5c2fb4b95b7712c7edbf7d2becac7
error: Unable to find abc07fcf79aebed56497e3894c6c3c06046f913a under http://github.com/jscruggs/metri...
Cannot obtain needed commit abc07fcf79aebed56497e3894c6c3c06046f913a
while processing commit ee576543b3a0820cc966cc10cc41e6ffb3415658.
fatal: Fetch failed.
Clone of 'http://github.com/jscruggs/metric_fu.git' into submodule path 'vendor/plugins/metric_fu'
Ho il mio HTTP_PROXY impostato:
c:\project> echo %HTTP_PROXY%
http://proxy.mycompany:80
Ho anche un'impostazione globale di Git per il proxy http:
c:\project> git config --get http.proxy
http://proxy.mycompany:80
Qualcuno ha ottenuto che le ricerche HTTP funzionino costantemente attraverso un proxy? Quello che è davvero strano è che alcuni progetti su GitHub funzionano bene (awesome_nested_set
per esempio), ma altri falliscono costantemente (rails per esempio).
Quello che finalmente ha funzionato è stato impostare la variabile d'ambiente http_proxy
. Avevo impostato correttamente HTTP_PROXY
, ma a quanto pare a git piace di più la versione minuscola.
Sembra che tu stia usando una compilazione mingw di Git su Windows (o forse un'altra di cui non ho sentito parlare). Ci sono modi per eseguire il debug di questo: Credo che tutto il lavoro di proxy http per git sia fatto da curl. Imposta questa variabile d'ambiente prima di eseguire git:
GIT_CURL_VERBOSE=1
Questo dovrebbe almeno darvi un'idea di cosa sta succedendo dietro le quinte.
Questo non è un problema con il tuo proxy. È un problema con github (o git). Anche a me non riesce su git-1.6.0.1 su linux. Il Bug è già stato segnalato (da te nientemeno).
Assicurati di cancellare i tuoi pasticci, sono già su google. Edit: Devo aver sognato, immagino che non puoi cancellarli. Utilizzare Gist invece?