முக்கிய repository வெற்றிகரமாக clone ஆனது அதன் துணைமாட்யூல்களைச் சோதிக்காது. துணைமாட்யூல் மற்றொரு Git repository; அது வேறு host-ல் இருக்கலாம், வேறு transport-ஐ பயன்படுத்தலாம்.

அறிவிக்கப்பட்ட URL-களை முதலில் படியுங்கள்:

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

HTTPS வழியாக பெறப்பட்ட parent repository-யில் git@host: பயன்படுத்தும் துணைமாட்யூல் இருக்கலாம். HTTP proxy அமைப்பு அந்த SSH இணைப்பை அமைக்காது. தொடர்புடைய துணைமாட்யூல் URL-களும் project பெயரிலிருந்து நீங்கள் ஊகித்த வலை முகவரிக்கு அல்ல, superproject-ன் சரியான remote-ஐ அடிப்படையாகக் கொண்டு தீர்க்கப்பட வேண்டும்.

Repository உள்ளூர் அமைப்புகளுக்கு தனி வரம்பு உண்டு

உள்ளூர் http.proxy பதிவு, அதை கொண்டுள்ள configuration file உடைய repository-க்கு சொந்தமானது. Parent-ஐ மட்டும் ஆய்வு செய்தால் initialized child repository-யில் பயன்படும் எல்லா அமைப்புகளும் தெரியும் என்று கருத வேண்டாம்.

Recursive update-ல் HTTPS proxy-யை தற்காலிகமாக மாற்ற, Git command-line configuration-ஐ அந்த invocation-க்கு வழங்கலாம்:

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

உதாரண endpoint-ஐ மாற்றுங்கள். Public proxy-களை அனுமதிக்கும் பாதையில் உள்ள public HTTPS துணைமாட்யூல்களுக்கு, HTTP proxy பட்டியல் சாத்தியமான முகவரிகளை வழங்குகிறது. இது துணைமாட்யூல்களின் SSH URL-களை HTTPS ஆக மாற்றாது; தேர்ந்தெடுக்கப்பட்ட பாதை எதிர்பாராததாக இருந்தால் URL சார்ந்த குறிப்பிட்ட அமைப்பையும் ஆய்வு செய்யுங்கள்.

பதிவு செய்யப்பட்ட URL மாறியபோது

Initialization போது Git துணைமாட்யூல் அமைப்பை உள்ளூரில் பதிவு செய்கிறது. Project-ன் துணைமாட்யூல் URL மாறியிருந்தால், proxy செயலிழந்தது என்று முடிவு செய்வதற்கு முன் தற்போதைய declaration-ஐ உள்ளூர் பதிவு மதிப்புடன் ஒப்பிடுங்கள். ஆவணப்படுத்தப்பட்ட sync operation, project declaration-இலிருந்து பதிவு செய்யப்பட்ட URL-களை புதுப்பிக்கும்; அது network proxy அமைப்பு அல்ல.

Nested failures-க்கு, பிழையில் குறிப்பிடப்பட்ட சரியான துணைமாட்யூல் பாதை மற்றும் remote-ஐ பதிவு செய்யுங்கள். Recursive operation பல host-களை தொடர்புகொள்ளலாம்; public host proxy-ஐ பயன்படுத்தும்போது internal host நேரடி விதிவிலக்கைத் தேவைப்படலாம்.

Transport பிழைகளையும் repository பிழைகளையும் பிரித்துப் பாருங்கள். கிடைக்காத commit, repository அணுகல் மறுப்பு, proxy-க்கு தோல்வியுற்ற இணைப்பு ஆகியவை “submodule update failed” என்ற ஒரே உயர்நிலை முடிவுக்கான வேறு காரணங்கள்.

தொடர்புடைய கட்டுரைகள்