Git ਸਬਮੋਡੀਊਲ ਲਈ ਪ੍ਰਾਕਸੀ ਰੂਟਿੰਗ
ਜਦੋਂ ਮੁੱਖ Git ਰਿਪੋਜ਼ਟਰੀ ਪ੍ਰਾਕਸੀ ਰਾਹੀਂ ਚੱਲੇ ਪਰ ਸਬਮੋਡੀਊਲ ਨਾ ਚੱਲਣ, URL, ਟ੍ਰਾਂਸਪੋਰਟ ਅਤੇ ਸੈਟਿੰਗ ਜਾਂਚੋ।
ਮੁੱਖ ਰਿਪੋਜ਼ਟਰੀ ਦਾ ਕਲੋਨ ਸਫ਼ਲ ਹੋਣਾ ਸਬਮੋਡੀਊਲ ਦੀ ਜਾਂਚ ਨਹੀਂ। ਸਬਮੋਡੀਊਲ ਵੱਖਰੇ ਹੋਸਟ ਅਤੇ ਟ੍ਰਾਂਸਪੋਰਟ ਉੱਤੇ ਹੋ ਸਕਦਾ ਹੈ।
ਘੋਸ਼ਿਤ URL ਪੜ੍ਹੋ:
git -C project config --file .gitmodules --get-regexp '^submodule\..*\.url$'
git -C project submodule status --recursive
HTTPS ਰਾਹੀਂ ਮਿਲੇ parent ਵਿੱਚ git@host: ਵਾਲਾ ਸਬਮੋਡੀਊਲ ਹੋ ਸਕਦਾ ਹੈ। HTTP ਪ੍ਰਾਕਸੀ SSH ਕਨੈਕਸ਼ਨ ਨੂੰ ਕਨਫਿਗਰ ਨਹੀਂ ਕਰਦੀ। Relative URL ਨੂੰ superproject ਦੇ ਸਹੀ remote ਰਾਹੀਂ ਹੱਲ ਕਰੋ।
ਸਥਾਨਕ ਸੈਟਿੰਗਾਂ ਦਾ ਖੇਤਰ ਹੁੰਦਾ ਹੈ
ਸਥਾਨਕ http.proxy repository configuration ਉਸ ਰਿਪੋਜ਼ਟਰੀ ਦਾ ਹੈ ਜਿਸਦੀ config ਫਾਈਲ ਵਿੱਚ ਇਹ ਹੈ। Parent ਵੇਖਣ ਨਾਲ child ਦੀਆਂ ਸਾਰੀਆਂ ਲਾਗੂ ਸੈਟਿੰਗ ਨਹੀਂ ਮਿਲਦੀਆਂ।
Recursive update ਵਿੱਚ ਇਹ Git command-line config ਦਿਓ:
git -C project -c http.proxy=http://203.0.113.10:8080 \
submodule update --init --recursive
ਉਦਾਹਰਨ endpoint ਬਦਲੋ। HTTP ਪ੍ਰਾਕਸੀ ਸੂਚੀ ਮਨਜ਼ੂਰ HTTPS ਸਬਮੋਡੀਊਲਾਂ ਲਈ ਪਤੇ ਦਿੰਦੀ ਹੈ ਪਰ SSH URL ਨੂੰ HTTPS ਨਹੀਂ ਬਣਾਉਂਦੀ।
ਰਿਕਾਰਡ URL ਬਦਲਣ ਉੱਤੇ
ਫੈਸਲਾ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਮੌਜੂਦਾ declaration ਅਤੇ local value ਮਿਲਾਓ। sync URL ਅੱਪਡੇਟ ਕਰਦਾ ਹੈ, proxy setting ਨਹੀਂ।
Nested error ਵਿੱਚ path ਅਤੇ remote ਲਿਖੋ। Transport ਅਤੇ repository errors ਵੱਖਰੇ ਹਨ, ਭਾਵੇਂ ਨਤੀਜਾ ‘submodule update failed’ ਹੋਵੇ।
The final diagnosis should identify the route and configuration that were actually inspected.