[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