[devel] gear-store-submodules
Alexey Gladkov
legion на altlinux.ru
Ср Янв 12 22:14:34 MSK 2022
On Wed, Jan 12, 2022 at 07:59:07PM +0300, Dmitry V. Levin wrote:
> > Вроде бы дочитал, отредактировал, запушил в
> > https://git.altlinux.org/people/ldv/packages/?p=gear.git;a=shortlog;h=submodules
> > но всё равно у меня нет полной уверенности, что предпоследний коммит,
> > который обрабатывает .gear/submodules/list в gear, делает это совершенно
> > безопасно.
>
> Этот подход работает, но он подойдёт не всем.
>
> Постановка задачи была, насколько я помню, примерно следующая:
> - в некотором проекте используются submodules для сравнительно небольших
> внешних подпроектов;
> - требуется собирать пакеты из этого проекта в Сизиф;
> - требуется не засорять историю этого проекта историями внешних подпроектов;
> - пользоваться этим должно быть не сложнее, чем gear-store-tags;
> - за всё это удобство можно заплатить увеличением размера git-репозитория
> проекта.
>
> В общих чертах реализация построена та том, что
> - есть новый инструмент gear-store-submodules, похожий на gear-store-tags,
> который превращает submodules в бандлы с помощью git-bundle(1),
> а эти бандлы, в свою очередь, добавляются в репозиторий как обычные файлы;
> - gear умеет автоматически конвертировать такие бандлы в архивы
> и добавлять такие архивы к основным архивам.
Эта реализация сделана с учётом основного критерия gear - все необходимые
объекты должны быть доступны по хэшу. При этом истории не должны
смешиваться иначе это уже не submodule, а subtree. Такую реализацию
поддержки submodules для gear я тоже делал, но это было совсем не то что
хотелось.
--
Rgrds, legion
Подробная информация о списке рассылки Devel