[devel] Q: Как восстановить бранчи/теги сохранённые gear-update-tag

Aleksey Avdeev solo на solin.spb.ru
Сб Окт 29 20:38:52 MSK 2011


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. В моем рабочем репозитории (см.
<http://git.altlinux.org/people/solo/packages/moodle.git>) для
формирования патчей используются бранчи
ALT/moodle/patch/install-directorypermissions и
ALT/moodle/patch/install-datadir-fix и .gear/rules (см.
<http://git.altlinux.org/people/solo/packages/moodle.git?p=moodle.git;a=blob;f=.gear/rules;h=d707c39bec327fe79cf449dca34e1f487e599edc;hb=ALT/moodle/srpms>).

2. cronbuild, в качестве исходного, использует репозиторий с официальной
историей пакета (<http://git.altlinux.org/gears/m/moodle.git>) в котором
сборочные бранчи
(ALT/moodle/patch/install-directorypermissions и
ALT/moodle/patch/install-datadir-fi) присутствуют только в виде записей
в .gear/rules.

  В итоге, скрипт .gear/cronbuild-update-source имеет на входе
репозиорий без сборочных тегов/бранчей, описанных в .gear/rules, но есть
полная информация о них в .gear/tags/. => для корректного обновления
пакета (включающего в себя последовательность пуллов и мержей, см
<http://git.altlinux.org/people/solo/packages/moodle.git?p=moodle.git;a=blob;f=.gear/cronbuild-update-source;h=a62662f9e8454c3502dbb30d8e88755c6922a84e;hb=ALT/moodle/srpms>)
сборочные теги и бранчи нужно восстановить по .gear/tags/.

> 
>>   Сейчас, для moodle сделан некий самокат (см. функцию get_commitmsg() в
>> <http://git.altlinux.org/people/solo/packages/moodle.git?p=moodle.git;a=blob;f=.gear/cronbuild-options;h=bab211e26565e625d7dac81ec32798dca1e06327;hb=ALT/moodle/srpms>).
>> И вопрос в том, заниматься ли мне приращением его в велосипед на
>> гиперприводе, или можно использовать нечто уже сделанное другими.
>>
>>>> PS: И есть ли способ заставить gear-update-tag сохранить некий бранч не
>>>> участвующий в формировании исходников? (Т. е. что надо прописать в
>>>> .gear/rules чтобы сохранить информацию о бранче, не участвующем в
>>>> формировании source и patch?)
>>>
>>> Нет, но, в принципе, возможно сочинить какое-нибудь бессмысленное правило,
>>> например, diff: бранч:. бранч:. name=чушь
>>> В результате, в качестве побочного эффекта, в pkg.tar попадет пустой
>>> файл "чушь".
>>
>>   Может стоит для этой цели добавить новую директиву, например store?
> 
> А зачем преследовать эту цель?

  Для упрощения cron{build,backport}-скриптов в репозиториях
использующих бранчи не упомянутые в текущих .gear/rules, например, когда
все изменения некого компонента выполняются в отдельном бранче, который
мержится с основным сборочным (в .gear/rules данный компанент
присутствует как каталог) или при ведении спека в отдельном бранче.

-- 

С уважением. Алексей.


----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : signature.asc
Тип     : application/pgp-signature
Размер  : 900 байтов
Описание: OpenPGP digital signature
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20111030/8b509b65/attachment-0001.bin>


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