On Thu, Jul 22, 2010 at 12:46:31AM +0300, Igor Vlasenko wrote: > Определение 1. gear-репозиторий -- это git репозиторий, > из которого можно собрать пакет с помощью gear. > [т.е. git репозиторий, из которого с помощью gear > собрать пакет нельзя, не рассматриваем.] > > Определение 2. gear-репозиторий назовем РУЧНЫМ, если > %{SOURCEx} исходники апстрима находятся в отдельных подпапках > и/ли отдельных ветках с тегами, указанными в директиве .gear/rules. > > Определение 3. gear-репозиторий назовем ДИКИМ, если > он не ручной. > > Наблюдение 1. для ручных gear-репозиториев существует алгоритм > обновления исходников. > > Другими словами, для ручных gear-репозиториев можно написать > superpower-аналог утилиты gear-update, которая сможет > автоматически обновлять ручные gear-репозитории любого типа > (в частности, делать необходимые merge между бранчами, > в т.ч. с бранчами, из которых создаются патчи, и проставлять теги), > основываясь на имеющихся тегах и информации > из spec-файла и .gear/rules. > > Похоже, мне не избежать в будущем написания такой утилиты > для роботов, но, думаю, людям тоже будет с ней удобнее. > > Далее, из диких gear-репозитории можно выделить как подкласс > апстримные репозитории. Это пакеты, в которых автор является > одновременно и майнтайнером. > > Наблюдение 2. Пакеты из апстримных репозиториев роботу обновлять > не нужно. > > Остальные дикие gear-репозитории можно назвать псевдо-апстримные. > > Наблюдение 3. В псевдо-апстримном репозитории роботу невозможно, > а человеку без бутылки тяжело отличить апстримный код от вкладв > майнтайнера. Поэтому такой gear-репозиторий неудобен для > совместной работы. > Пока с ним работает 1 человек, то все хорошо, но если > взялся кто-то другой, то часто проще такой репозиторий > выбросить и создать заново. > Разница между ними и апстримными как между сыроежкой зеленоватой > и бледной поганкой -- на вид еле заметна, но в случае ошибки ... Давайте уточним определения, проверив их на конкретных репозиториях. Например, в какую категорию попадает http://git.altlinux.org/gears/g/git.git ? -- ldv