Git workflow для разработки корпоративного ядра Linux
Я работаю в компании, которая создает встраиваемые системы с использованием Linux. Исторически мы всегда использовали CVS для хранения работы нашего ядра. Наши ядра в конечном итоге представляют собой набор из:
Драйверы для нашего фирменного оборудованияСлучайные исправления для битов Linux, которые мы используемНепатентованные аппаратные драйверыСлучайные юкки-хаки, чтобы адаптировать Linux для нашего приложенияМы находимся на этапе, когда мы хотели бы переоборудовать некоторые из наших старых ядер на более новые версии, а также исправить наш архаичный рабочий процесс CVS на что-то, основанное на наборах изменений. Очевидный выбор - это мерзавец.
Я изо всех сил пытаюсь придумать разумный рабочий процесс. Я экспортировал наш CVS-репозиторий для одного из наших ядер, и у меня есть коллекция наборов изменений поверх соответствующего базового ядра Linus. Куда мне идти отсюда?
Я хотел бы иметь центральное хранилище, в которое все разработчики вносят изменения. Безопасно ли использовать rebase, чтобы перенести нашу коллекцию наборов изменений в новую базовую ревизию ядра, а затем провести наши разработки поверх новой центральной ветви?
Бонусные баллы за получение рабочего процесса, который позволяет нам легко выделять изменения, которые могут подходить для восходящего потока. Я сыт по горло продвижением коллекции маленьких (или крошечных) вообще полезных изменений все время.