#git #git-submodules
#git #git-submodules
Вопрос:
У меня есть репозиторий Git, который использует подмодуль для сторонней библиотеки. Эта сторонняя библиотека также использует подмодули.
На самом деле я обнаружил очень неясную ошибку в одном из сторонних подмодулей, которая буквально представляет собой 2-строчное исправление, чтобы заставить его работать в моей ситуации.
Как я могу сохранить это изменение в моем реальном репозитории Git, без необходимости разветвлять стороннюю библиотеку, обновлять URL-адрес подмодуля и указывать его на другой разветвитель, чтобы я мог зафиксировать и исправить ошибку? Могу ли я переопределить URL сторонних подмодулей из моего репозитория Git?
Если это невозможно, я, вероятно, в конечном итоге создам событие предварительной сборки, чтобы скопировать мою версию файла в нужное место, но это кажется чрезвычайно сложным… Но мне не хочется поддерживать две вилки для сторонней библиотеки, которая в целом тоже отлично работает.
Я знаю, что мог бы сделать запрос на извлечение, чтобы исправить ошибку, но давайте предположим, что автор не был бы заинтересован в исправлении, которое исправляет что-то только для моего конкретного случая, что не было бы необоснованным — тем не менее, я все еще хочу, чтобы это исправление было в моем репозитории.
Ответ №1:
Вы спросили
Могу ли я переопределить URL сторонних подмодулей из моего репозитория Git?
Может быть, то, что вы искали, это:
git config submodule.SubModuleName.url PRIVATE_URL
Примечание
Поскольку URL-адрес в файле .gitmodules — это то, что другие пользователи сначала попытаются клонировать / извлечь, обязательно используйте URL-адрес, к которому они могут получить доступ, если это возможно. Например, если вы используете другой URL для отправки, чем другие, используйте тот, к которому другие имеют доступ. Вы можете перезаписать это значение локально с помощью подмодуля git config.DbConnector.url PRIVATE_URL для вашего собственного использования. Когда это применимо, относительный URL может быть полезен.
Комментарии:
1. Спасибо, что указали на это. Мне действительно интересно, работает ли это для подмодулей подмодуля. Рассматриваемый подмодуль представляет собой набор других подмодулей, один из которых я хочу переопределить.