[Devel] Миграция в Git или из недавнего про OpenVZ
Vitaly Lipatov
lav на etersoft.ru
Пт Авг 26 18:50:57 MSD 2011
В сообщении от Понедельник 15 августа 2011 Alexander Morozov написал(a):
> > Вот, что я помню из этой задачи:
> > Мы храним изменения в двух ветках: в одной правим по "живому", начиная
> > с первых этапов разработки, в другой наши изменения всегда доступны
> > поверх последних изменений в апстриме. При этом история наших патчей
> > определённым образом сохраняется. Дальше деталей я не помню.
>
> Помню когда-то обсуждался переход на новый способ хранения кода открытой
> части WINE на Etersoft. Была идея сделать так, чтобы в репозитории хранилось
> следующее:
...
У меня тут создался ещё один вариант описания:
В репозитории создаётся несколько веток
1. upstream (неизменённая)
2. rebase (где наши патчи всегда сверху)
3. history - она же непрерывная (куда отражается в виде коммита каждое
изменение ветки 2)
4. patches - ветка с нашими патчами
Схема такая
1. в ветке 1 появляется новый коммит
2. делаем rebase ветки 2, чтобы добавить новый коммит, оставив наши патчи
сверху
3. делаем diff между новым состоянием ветки 2 и предыдущим, получаем коммит,
который добавляем в ветку 3
Ветка 4, по сути, просто хранит результат git format-patch для наших коммитов
в ветке 2
Суть в том, что ветка 3 получается непрерывной, там сохраняется история,
последовательно добавляются коммиты. Её можно использовать для сборки пакетов
и для публикации
Получившийся коммит в ветке 3 будет не копией коммита из апстрима и лишь его
подобием. При этом возможно использовать описание оригинального коммита, ведь
подобный коммит будет вносить те же изменения.
--
С уважением,
Виталий Липатов
Россия, Санкт-Петербург. www.etersoft.ru
GNU! ALT Linux Team! WINE! WIKI! LaTeX! LyX!
Подробная информация о списке рассылки Devel