On Tue, Feb 10, 2009 at 11:10:26AM +0300, Aleksey Avdeev wrote: > Eugene Prokopiev пишет: > >>Это сделано для добавления в спек > >>конструкции с отдельной историей > >>(автоматизации вычисления правильного > >>релиза, в зависимости от требуемого > >>бранча). В дальнейшем -- позволит > >>обновлять данную конструкцию (при > >>появлении новых бранчей) простым > >>образом, через git pull. (Пример такого > >>обновления, добавление поддержки M50, как > >>раз и привлёк твоё внимание выше.) > > > >А насколько эта конструкция совместима > >с новой сборочной системой, > >которая все равно требует явных разных > >коммитов для разных бранчей? > > Полностью совместима: бранч для > бэкпорта конечно потребуется, но > обновлять его можно через git pull с простым > конфликтом (в %changelog). > > Небольшая демонстрация на примере > бранчей demo/master (см. > ) > и demo/4.0 (см. > ): > > 1. Завожу демонстрационный бранч demo/master и > обновляю в нём спек до: > > $ git-diff master demo/master|cat > diff --git a/nut.spec b/nut.spec > index 8ea317b..fba4aa5 100644 > --- a/nut.spec > +++ b/nut.spec > @@ -3,7 +3,7 @@ > # for set release > %define release_pre alt > %define release_base_num 1 > -%define release_base_num2 1 > +%define release_base_num2 2 > %define release_suff %nil > > # for distr selected > @@ -629,6 +629,10 @@ fi > %_man3dir/* > > %changelog > +* Tue Feb 10 2009 Aleksey Avdeev 2.2.2-alt1.2 > +- NMU > +- For backports demonstration. > + > * Mon Feb 09 2009 Aleksey Avdeev 2.2.2-alt1.1 > - NMU > > 2. Завожу демонстрационный бранч demo/4.0: > > $ git-checkout -b demo/4.0 4.0 > > 3. $ git-pull . demo/master > Auto-merged nut.spec > CONFLICT (content): Merge conflict in nut.spec > Automatic merge failed; fix conflicts and then commit the result. > > а) получаем обещанный конфликт: > > %changelog > <<<<<<< HEAD:nut.spec > * Mon Feb 09 2009 Aleksey Avdeev 2.2.2-alt1.0.M40.1 > - NMU > - Backports to 4.0 > ======= > * Tue Feb 10 2009 Aleksey Avdeev 2.2.2-alt1.2 > - NMU > - For backports demonstration. > >>>>>>> 2c105c94d9dd31a8be3d2515764216d9ac115d69:nut.spec > > * Mon Feb 09 2009 Aleksey Avdeev 2.2.2-alt1.1 > - NMU > > б) решаем его (и обновляя релиз/дату) и > комитим. > > 3. На выходе -- корректный бэкпорт: > > $ git-diff 4.0 demo/4.0|cat > diff --git a/nut.spec b/nut.spec > index b2dfdce..e6df0d2 100644 > --- a/nut.spec > +++ b/nut.spec > @@ -3,7 +3,7 @@ > # for set release > %define release_pre alt > %define release_base_num 1 > -%define release_base_num2 1 > +%define release_base_num2 2 > %define release_suff %nil > > # for distr selected > @@ -629,10 +629,17 @@ fi > %_man3dir/* > > %changelog > -* Mon Feb 09 2009 Aleksey Avdeev 2.2.2-alt1.0.M40.1 > +* Tue Feb 10 2009 Aleksey Avdeev 2.2.2-alt1.1.M40.1 > - NMU > - Backports to 4.0 > > +* Tue Feb 10 2009 Aleksey Avdeev 2.2.2-alt1.2 > +- NMU > +- For backports demonstration. > + > * Mon Feb 09 2009 Aleksey Avdeev 2.2.2-alt1.1 > - NMU > > -- > > С уважением. Алексей. Очень сложно и очень неудобно. Нет, это ужасно. -- ldv