[devel] gear-store-submodules

Dmitry V. Levin ldv на altlinux.org
Ср Янв 12 23:06:23 MSK 2022


On Wed, Jan 12, 2022 at 08:14:34PM +0100, Alexey Gladkov wrote:
> 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 я тоже делал, но это было совсем не то что
> хотелось.

Может быть, кому-то конвертирование submodule в subtree подошло бы лучше,
чем конвертирование submodule в bundle.


-- 
ldv


Подробная информация о списке рассылки Devel