Poznámka: hoci sa opísaný prípad použitia týka používania podmodulov v rámci projektu, to isté platí aj pre bežné klonovanie úložiska git
cez HTTP.
Mám projekt pod kontrolou Git. Chcel by som pridať podmodul:
git submodule add http://github.com/jscruggs/metric_fu.git vendor/plugins/metric_fu
Ale dostanem
...
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'
Mám nastavený HTTP_PROXY:
c:\project> echo %HTTP_PROXY%
http://proxy.mycompany:80
Dokonca mám globálne nastavenie Git pre http proxy:
c:\project> git config --get http.proxy
http://proxy.mycompany:80
Podarilo sa niekomu dosiahnuť, aby načítanie HTTP trvalo fungovalo cez proxy server? Čo'je naozaj zvláštne, je to, že niekoľko projektov na GitHube funguje v poriadku (awesome_nested_set
napríklad), ale iné neustále zlyhávajú (rails napríklad).
Nakoniec sa podarilo nastaviť premennú prostredia http_proxy
. Nastavil som HTTP_PROXY
správne, ale git má zrejme radšej verziu s malými písmenami.
Vyzerá to, že používate kompiláciu Git mingw pre Windows (prípadne inú, o ktorej som ešte nepočul). Existujú spôsoby, ako to odladiť: Myslím, že všetku prácu s proxy serverom http pre git vykonáva curl. Pred spustením git nastavte túto premennú prostredia:
GIT_CURL_VERBOSE=1
To by vám malo dať aspoň predstavu o tom, čo sa deje v zákulisí.