Klonazzjoni b’suċċess tar-repożitorju ewlieni ma tittestjax is-submodules tiegħu. Submodule huwa repożitorju Git ieħor, forsi fuq host ieħor u bi trasport differenti.

Ibda billi taqra l-URLs iddikjarati:

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

Ġenitur miksub permezz ta’ HTTPS jista’ jkollu submodule li juża git@host:. Setting ta’ proxy HTTP ma jikkonfigurax dik il-konnessjoni SSH. Il-URLs relattivi għandhom ukoll jiġu solvuti kontra r-remote xieraq tas-superproject, mhux indirizz web assunt mill-isem tal-proġett.

Is-settings lokali għandhom ambitu

Entrata lokali http.proxy tappartjeni lir-repożitorju li l-fajl tal-konfigurazzjoni tiegħu fih dik l-entrata. Tassumix li l-ispezzjoni tal-ġenitur biss turi kull setting effettiv f’repożitorju tifel inizjalizzat.

Għal override temporanju tal-proxy HTTPS waqt aġġornament rikursiv, tista’ tagħti konfigurazzjoni Git mil-linja tal-kmand lil dik is-sejħa:

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

Ibdel l-endpoint tal-eżempju. Għal submodules HTTPS pubbliċi fuq rotta li tippermetti proxies pubbliċi, il-lista tal-proxies HTTP tagħti indirizzi kandidati. Dan ma jikkonvertix URLs SSH għal HTTPS; settings aktar speċifiċi skont il-URL għadhom jistħoqqilhom spezzjoni jekk ir-rotta magħżula tkun mhux mistennija.

Meta l-URL irreġistrat inbidel

Git jirreġistra l-konfigurazzjoni tas-submodule lokalment waqt l-inizjalizzazzjoni. Jekk il-URL fil-proġett inbidel, qabbel id-dikjarazzjoni kurrenti mal-valur lokali qabel tiddeċiedi li l-proxy waqaf jaħdem. L-operazzjoni sync dokumentata taġġorna l-URLs mid-dikjarazzjoni tal-proġett; mhix hi stess setting ta’ proxy tan-netwerk.

Għal fallimenti mdaħħla f’xulxin, niżżel il-mogħdija eżatta u r-remote fl-iżball. Operazzjoni rikursiva tista’ tikkuntattja diversi hosts; wieħed intern jista’ jeħtieġ eċċezzjoni diretta waqt li wieħed pubbliku juża l-proxy.

Żomm l-iżbalji tat-trasport separati minn dawk tar-repożitorju. Commit mhux disponibbli, aċċess miċħud u konnessjoni proxy falluta huma raġunijiet differenti għall-istess riżultat ġenerali ‘submodule update failed’.

Artikli relatati