29.10.2011 23:31, Dmitry V. Levin пишет: > On Sat, Oct 29, 2011 at 11:22:47PM +0400, Aleksey Avdeev wrote: >> 29.10.2011 18:05, Dmitry V. Levin пишет: >>> On Sat, Oct 29, 2011 at 03:36:59PM +0400, Aleksey Avdeev wrote: >>>> Приветствую. >>>> >>>> Есть ли у нас официальное средство для восстановления бранчей и тегов >>>> сохранённых gear-update-tag? >>> >>> Они хранятся в .gear/tags/ и не нуждаются в восстановлении. >>> А утилита уже давно называется gear-store-tags. >> >> Это (про .gear/tags/ и gear-{update,store}-tag) знаю но мне нужна >> обратная операция (для скри cron{build,backports}): по информации из >> .gear/tags/ вернуть теги и бранчи отсутствующие в репозитории >> (git.alt/gears/...). > > Вся информация для этого в .gear/tags/ хранится, но > зачем это может быть нужно? Для упрощения написания cronbuild-скриптов, в случаи если в репозитории разработчика активно используются бранчи. На примере moodle: 1. В моем рабочем репозитории (см. ) для формирования патчей используются бранчи ALT/moodle/patch/install-directorypermissions и ALT/moodle/patch/install-datadir-fix и .gear/rules (см. ). 2. cronbuild, в качестве исходного, использует репозиторий с официальной историей пакета () в котором сборочные бранчи (ALT/moodle/patch/install-directorypermissions и ALT/moodle/patch/install-datadir-fi) присутствуют только в виде записей в .gear/rules. В итоге, скрипт .gear/cronbuild-update-source имеет на входе репозиорий без сборочных тегов/бранчей, описанных в .gear/rules, но есть полная информация о них в .gear/tags/. => для корректного обновления пакета (включающего в себя последовательность пуллов и мержей, см ) сборочные теги и бранчи нужно восстановить по .gear/tags/. > >> Сейчас, для moodle сделан некий самокат (см. функцию get_commitmsg() в >> ). >> И вопрос в том, заниматься ли мне приращением его в велосипед на >> гиперприводе, или можно использовать нечто уже сделанное другими. >> >>>> PS: И есть ли способ заставить gear-update-tag сохранить некий бранч не >>>> участвующий в формировании исходников? (Т. е. что надо прописать в >>>> .gear/rules чтобы сохранить информацию о бранче, не участвующем в >>>> формировании source и patch?) >>> >>> Нет, но, в принципе, возможно сочинить какое-нибудь бессмысленное правило, >>> например, diff: бранч:. бранч:. name=чушь >>> В результате, в качестве побочного эффекта, в pkg.tar попадет пустой >>> файл "чушь". >> >> Может стоит для этой цели добавить новую директиву, например store? > > А зачем преследовать эту цель? Для упрощения cron{build,backport}-скриптов в репозиториях использующих бранчи не упомянутые в текущих .gear/rules, например, когда все изменения некого компонента выполняются в отдельном бранче, который мержится с основным сборочным (в .gear/rules данный компанент присутствует как каталог) или при ведении спека в отдельном бранче. -- С уважением. Алексей.