[devel] Бэкпорт psi-0.13

Anton Farygin =?iso-8859-1?q?rider_=CE=C1_altlinux=2Ecom?=
Вт Фев 10 10:47:13 MSK 2009


Alexey Borovskoy пишет:
> Добрый день.
> 
> Разглядываю я 	git://git.altlinux.org/people/rider/packages/psi.git
> 
> Кто бы объяснил следующее:
> 
> 1. Как была получена ветка source-0.13 ?

git checkout -b source-0.13 psi/master (забрали master бранч гита апстрима)
git merge -s ours iris (подшили туда историю от iris)

> 2. Как была получена ветка master-0.13 ?
git checkout -b master-0.13 psi/master
git merge -s ours iris

> 3. Есть ли у веток source и source-0.13 общие коммиты? Если они есть,
> то почему при мерже ветки source-0.13 в ветку source получаем огромное
> количество конфликтов?

Нет, нету. Сборка идёт из ветки master-0.13, а ветку master можно 
игнорировать - это старый импорт из svn. Оставил для истории. Сейчас 
upstream перешёл на git.

> 4. Аналогично п.3 но для веток master и master-0.13.

Аналогично

> 5. Что делать с submodules?

tar: v на version@- на release@:. name=psi- на version@- на release@
diff: v на version@- на release@:.    .
tar: iris:. name=iris

Последнее говорит, что тарболл iris собирается из текущего бранча iris. 
Соответственно при обновлении нужно:
смержить апстримный git для iris
смержить апстримный git для source-0.13 и master-0.13
подшить историю iris через -s ours в source-0.13 и master-0.13
В бранче source-0.13 поставить тэг вида: v<версия>-<релиз>, например 
v0.13-alt0.git3.57c98f2

В бранче master-0.13 после правки спека (обновления/изменения релиза) 
выполнить gear-update-tag -a -c

После этого попробовать собрать пакет (gear-rpm -ba --commit)

> 
> Я понимаю что это мощная чорная магия, но как в проекте psi из пункта
> А приехать в пункт Б?

Я тут отдельным письмом её описывал. В общем то ничего особенно 
страшного - такая схема сделана для объезда submodules.

> 
> Только не надо раздражаться и посылать меня грепать гит апстрима и доку от гита.

В данном случае это не поможет (грепать гит и доку). спрашивайте ;)

Для бэкпорта всё намного проще:
делаем новый бранч на основе master-0.13, например 4.0

На последний коммит в бранче source-0.13 ставим тэг с новой 
версией/релизом для бэкпорта. (мне страшно подумать, как он будет 
выглядеть).

Правим спек (в бранче 4.0), выполняем gear-update-tag -a -c, собираем.

Смержить старые изменения, думаю, что не получится. Можно попробовать 
подёргать патчи через cherry-pick, но по моему проще убить не нужную 
историю.


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