[devel] Gear и внешние VCS.

Anton Farygin rider на altlinux.com
Чт Июн 19 17:09:26 MSK 2014


On 19.06.2014 16:49, Anton Farygin wrote:
> On 19.06.2014 16:17, Igor Vlasenko wrote:
>> On Thu, Jun 19, 2014 at 04:10:14PM +0400, Anton Farygin wrote:
>>>> Но из этого совершенно не следует, что если пакет foo
>>>> одновременно сопровождает 2 майнтайнера A и B, то
>>>> если один из них создал .gear/upstream/remotes,
>>>> (например, А), то второй (В)
>>>> отгребет из этого файла не нужные ему ветви.
>>>
>>> следует что каждому мейнтейнеру для каждого своего пакета придётся
>>> делать действия, которых можно было бы избежать.
>>
>> В смысле? я же вроде бы описал, что не нужно никаких
>> действий.
>>
>> Можно на примере? какие придется делать действия?
>
> Создавать и поддерживать в рабочем состоянии .gear/upstream/*
>
> Да, понимаю что это вызов скрипта, но всё-таки - зачем, если можно и без
> этого обойтись ?

Добавлю пример: пакет glusterfs3
склонировал прямо из gears
ветка sisyphus

смотрим rules:
$ cat .gear/rules
copy: *.glusterfs
copy: *.logrotate
copy: *.service
copy: *.sysconfig
copy: *.init
spec: glusterfs3.spec
tar: v на version@:.
diff: v на version@:. .

ага, мейнтейнер собирает по тэгу, отлично.

гуглим апстрим.
добавляем upstream remote
делаю ему fetch
прилетает новый тэг.
делаю merge с этим тэгом прямо в ветку sisyphus (без upstream бранча, он 
не нужен вообще когда можно брать тарболл по апстримному тэгу, да и в 
других случаях его необходимость вещь весьма условная).
резолвим конфликты, возникшие при merge и начинаем собирать.

Вот зачем мне в этом usecase информация о том, где и в каких ветках 
Alexei Takaseev хранит апстримы и с чем делает мерж ?

Вся недостающая информация - это адрес апстримного гита и формат тэга, 
который описывает релиз.



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