[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