Могу ли я переопределить URL вложенного подмодуля git без разветвления?

#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 может быть полезен.

из 7.11 Git Tools — подмодули

Комментарии:

1. Спасибо, что указали на это. Мне действительно интересно, работает ли это для подмодулей подмодуля. Рассматриваемый подмодуль представляет собой набор других подмодулей, один из которых я хочу переопределить.