Паспяховае кланаванне асноўнага рэпазіторыя не правярае яго падмодулі. Падмодуль — іншы рэпазіторый Git, магчыма на іншым хосце і з іншым транспартам.

Пачніце з чытання абвешчаных URL:

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

Бацькоўскі рэпазіторый, атрыманы праз HTTPS, можа ўтрымліваць падмодуль з git@host:. Налада HTTP-проксі не настройвае гэтае злучэнне SSH. Адносныя URL падмодуляў таксама трэба вырашаць адносна адпаведнага remote суперпраекта, а не вэб-адраса, які вы меркавалі з назвы праекта.

Лакальныя налады маюць межы дзеяння

Лакальны запіс http.proxy належыць рэпазіторыю, у канфігурацыйным файле якога ён знаходзіцца. Не лічыце, што праверка толькі бацькоўскага рэпазіторыя паказвае ўсе дзейсныя налады ў ініцыялізаваным даччыным.

Каб часова перавызначыць HTTPS-проксі для рэкурсіўнага абнаўлення, можна перадаць канфігурацыю Git у камандным радку гэтаму выкліку:

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

Замяніце прыкладны адрас. Для публічных падмодуляў HTTPS на маршруце, дзе дазволеныя публічныя проксі, спіс HTTP-проксі дае кандыдатныя адрасы. Гэта не ператварае URL падмодуляў SSH у HTTPS; калі маршрут нечаканы, варта праверыць і больш канкрэтную канфігурацыю для URL.

Калі запісаны URL змяніўся

Git рэгіструе канфігурацыю падмодуля лакальна падчас ініцыялізацыі. Калі URL падмодуля ў праекце змяніўся, параўнайце бягучае абвяшчэнне з лакальна зарэгістраваным значэннем, перш чым вырашаць, што проксі не працуе. Дакументаваная аперацыя sync абнаўляе зарэгістраваныя URL з абвяшчэння праекта; сама яна не з’яўляецца наладай сеткавага проксі.

Пры збоях укладзеных падмодуляў адзначце дакладны шлях і remote з паведамлення пра памылку. Рэкурсіўная аперацыя можа звяртацца да некалькіх хостаў; унутранаму можа спатрэбіцца выключэнне для прамога злучэння, пакуль публічны выкарыстоўвае проксі.

Аддзяляйце памылкі транспарту ад памылак рэпазіторыя. Недаступны commit, адмова рэпазіторыя ў доступе і збой злучэння з проксі — розныя прычыны аднаго агульнага выніку «submodule update failed».

Падобныя артыкулы