Proxy-ruting for Git-submoduler
Kontroller submodul-URL-er og transport når hovedlageret fungerer gjennom proxy, men barna ikke gjør det.
En vellykket kloning av hovedlageret tester ikke submodulene. En undermodul kan bruke en annen vert og en annen transport.
Les de deklarerte URL-ene først:
git -C project config --file .gitmodules --get-regexp '^submodule\..*\.url$'
git -C project submodule status --recursive
Et HTTPS-hentet foreldrearkiv kan ha en undermodul med git@host:. HTTP-proxy konfigurerer ikke SSH. Relative URL-er løses mot superprosjektets riktige remote.
Lokale innstillinger har et virkeområde
En lokal http.proxy-post gjelder arkivet som inneholder konfigurasjonsfilen. Forelderen alene viser ikke barnets aktive innstillinger.
Ved rekursiv oppdatering kan Git-konfigurasjon gis til samme kall:
git -C project -c http.proxy=http://203.0.113.10:8080 \
submodule update --init --recursive
Bytt eksempelpunktet. HTTP-proxylisten gir kandidater for tillatte HTTPS-undermoduler, men endrer ikke SSH-URL-er til HTTPS.
Når registrert URL endres
Sammenlign prosjektets deklarasjon med den lokale verdien før du skylder på proxyen. sync oppdaterer registrerte URL-er og er ikke en proxyinnstilling.
Ved nestede feil noterer du sti og remote. Skill transportfeil fra repositoryfeil; alle kan gi ‘submodule update failed’ av ulike grunner.
The final diagnosis should identify the route and configuration that were actually inspected.