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.

Relaterte artikler