Uspešno kloniranje glavnog repozitorijuma ne proverava njegove podmodule. Podmodul je drugi Git repozitorijum, možda na drugom hostu i možda koristi drugi transport.

Počnite čitanjem deklarisanih URL-ova:

git -C project config --file .gitmodules --get-regexp '^submodule\..*\.url$'
git -C project submodule status --recursive

Roditelj preuzet preko HTTPS-a može da sadrži podmodul koji koristi git@host:. Podešavanje HTTP proksija ne konfiguriše tu SSH vezu. Relativni URL-ovi podmodula moraju se razrešiti prema odgovarajućem remote-u superprojekta, a ne prema onoj web adresi koju ste pretpostavili iz imena projekta.

Lokalna podešavanja repozitorijuma imaju opseg

Lokalni unos http.proxy pripada repozitorijumu čiji konfiguracioni fajl ga sadrži. Ne pretpostavljajte da vam pregled samo roditelja otkriva svako efektivno podešavanje koje se koristi unutar inicijalizovanog deteta repozitorijuma.

Za privremeno premošćavanje HTTPS proksija tokom rekurzivnog ažuriranja, Git-ova komandna konfiguracija može se dostaviti tom pozivu:

git -C project -c http.proxy=http://203.0.113.10:8080 \
  submodule update --init --recursive

Zamenite primer endpointa. Za javne HTTPS podmodule na ruti koja dozvoljava javne proksije, lista HTTP proksija nudi kandidatske adrese. To ne pretvara SSH URL-ove podmodula u HTTPS, a specifičnija URL konfiguracija ipak zaslužuje pregled kada je izabrana ruta iznenađujuća.

Kada se zabeleženi URL promeni

Git lokalno registruje konfiguraciju podmodula tokom inicijalizacije. Ako se URL podmodula projekta promenio, uporedite trenutnu deklaraciju sa lokalno registrovanom vrednošću pre nego što zaključite da je proksi mrtav. Dokumentovana operacija sync ažurira registrovane URL-ove iz deklaracije projekta; ona sama nije podešavanje mrežnog proksija.

Za ugnježdene greške zabeležite tačnu putanju podmodula i remote koji se pominje u grešci. Rekurzivna operacija može kontaktirati više hostova, a interni host može zahtevati direktno izuzeće dok javni host koristi proksi.

Držite transportne greške odvojeno od grešaka repozitorijuma. Nedostupan commit, pristup koji je repozitorijum odbio i neuspela veza sa proksijem različiti su razlozi za isti rezultat na visokom nivou — „submodule update failed“.

Повезани чланци