[devel] git -- хитрая задачка

Андрей Черепанов cas на altlinux.ru
Вт Авг 24 09:17:38 UTC 2010


24 августа 2010 Денис Смирнов написал:
> Имеется множество git-репозиториев (около тысячи).
> Большая часть их них -- устаревшие backup'ы, но какие определить
> по имени или еще каким-либо очевидным характеристикам невозможно.
> Разобраться в этом кошмаре вручную -- тем более.
> 
> Задача -- выявить и удалить старье (которого там процентов 90).
> 
> Лобовое решение: прогнать для каждого бранча каждого репозитория git log,
> положить результат в sqlite (commit id/путь к репо/бранч). Также положить
> в базу последний commit id каждого бранча каждого репозитория.
> 
> После этого я могу легко определить есть ли такой commit id в другом
> репозитории. И если есть, и это не последний коммит в бранче -- то наш
> бранч явно стухший и его можно удалить.
> 
> Такое решение мне не нравится тем, что придется строить базу по миллионам
> commit'ов.
> 
> Можно ли придумать что-то значительно шустрее?
Как насчёт даты последней модификации?

-- 
Андрей Черепанов
ALT Linux
cas на altlinux.ru


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