Git azpimoduluen proxy bidezko bideratzea
Git biltegi nagusia proxy bidez dabilenean baina azpimoduluak ez, begiratu haien URLak, garraio motak eta biltegien konfigurazioa.
Biltegi nagusia ondo klonatzeak ez ditu azpimoduluak probatzen. Azpimodulua beste Git biltegi bat da, beharbada beste ostalari batean eta beste garraio batekin.
Hasteko, irakurri deklaratutako URLak:
git -C project config --file .gitmodules --get-regexp '^submodule\..*\.url$'
git -C project submodule status --recursive
HTTPS bidez eskuratutako biltegi nagusiak git@host: darabilen azpimodulua izan dezake. HTTP proxyaren ezarpenak ez du SSH konexio hori konfiguratzen. Azpimoduluen URL erlatiboak ere superproiektuaren dagokion urruneko biltegiaren arabera ebatzi behar dira, ez proiektuaren izenetik ondorioztatutako web helbide baten arabera.
Biltegiko tokiko ezarpenek irismena dute
Tokiko http.proxy sarrera bere konfigurazio fitxategian daukan biltegiari dagokio. Ez pentsatu biltegi nagusia bakarrik aztertuta hasieratutako azpibiltegian indarrean dauden ezarpen guztiak ezagutzen dituzunik.
Eguneratze errekurtsibo batean HTTPS proxya aldi baterako ezartzeko, dei horri Git komando lerroko konfigurazioa eman diezaiokezu:
git -C project -c http.proxy=http://203.0.113.10:8080 \
submodule update --init --recursive
Ordeztu adibideko konexio-puntua. Proxy publikoak baimentzen dituen bide bateko HTTPS azpimodulu publikoentzat, HTTP proxyen zerrendak helbide hautagaiak ematen ditu. Horrek ez ditu SSH azpimoduluen URLak HTTPS bihurtzen; hautatutako bidea ustekabekoa bada, URL bidezko konfigurazio zehatzagoa ere aztertu behar da.
Erregistratutako URLa aldatu denean
Gitek tokian erregistratzen du azpimoduluaren konfigurazioa hasieratzean. Proiektuko azpimoduluaren URLa aldatu bada, konparatu oraingo deklarazioa tokian erregistratutako balioarekin, proxya hondatuta dagoela erabaki aurretik. Dokumentatutako sync eragiketak proiektuaren deklaraziotik eguneratzen ditu erregistratutako URLak; bera ez da sareko proxy ezarpen bat.
Habiaratutako hutsegiteetan, idatzi errorean aipatutako azpimoduluaren bide zehatza eta urruneko biltegia. Eragiketa errekurtsiboak hainbat ostalarirekin konekta daitezke; barneko ostalari batek zuzeneko konexiorako salbuespena behar lezake, publikoak proxya erabiltzen duen bitartean.
Bereizi garraio-erroreak biltegiko erroreetatik. Eskuragarri ez dagoen commit bat, biltegiak sarbidea ukatzea eta proxyarekiko konexioak huts egitea arrazoi desberdinak dira «submodule update failed» emaitza orokor berarentzat.