[devel] git -- хитрая задачка
Денис Смирнов
mithraen на altlinux.ru
Вт Авг 24 08:31:38 UTC 2010
Имеется множество git-репозиториев (около тысячи).
Большая часть их них -- устаревшие backup'ы, но какие определить
по имени или еще каким-либо очевидным характеристикам невозможно.
Разобраться в этом кошмаре вручную -- тем более.
Задача -- выявить и удалить старье (которого там процентов 90).
Лобовое решение: прогнать для каждого бранча каждого репозитория git log,
положить результат в sqlite (commit id/путь к репо/бранч). Также положить
в базу последний commit id каждого бранча каждого репозитория.
После этого я могу легко определить есть ли такой commit id в другом
репозитории. И если есть, и это не последний коммит в бранче -- то наш
бранч явно стухший и его можно удалить.
Такое решение мне не нравится тем, что придется строить базу по миллионам
commit'ов.
Можно ли придумать что-то значительно шустрее?
--
С уважением, Денис
http://mithraen.ru/
----------------------------------------------------------------------------
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.altlinux.org/pipermail/devel/attachments/20100824/2bdeb53b/attachment.bin>
Подробная информация о списке рассылки Devel