У меня есть набор изменений, которые отлично работают с определенной версией Linux, скажем, 2.6.25.4.
У меня есть дерево мерзавцев, и я создал ветку отслеживания vanilla-2.6.25.4 из тега v2.6.25.4. Я создал ветку под названием my-changes-2.6.25.4 и выполнил всю мою работу.
Теперь я хотел бы перебазировать свою работу поверх произвольной более новой версии Linux. Скажите 2.6.28.9. Каков оптимальный рабочий процесс git для достижения этой цели?
Я знаю, как создать новую ветку из 2.6.28.9, но выполнение чего-то вроде 'git merge my-changes-2.6.25.4' дает всевозможные конфликты из других вещей, которые меня не интересуют. Это кажется сломанным в любом случае.
Я попытался создать новую ветку из моей рабочей my-changes-2.6.25.4 и выполнить git rebase 2.6.28.9, предполагая, что это возьмет мои изменения из 2.6.25.4 и применит их поверх 2.6.28.9, но это дал мне множество конфликтов, которые не были связаны с тем, что я изменил.
Я не уверен, как правильно это сделать. Я использую стабильное дерево linux http://www.kernel.org/pub/scm/linux/kernel/git/stable/linux-2.6-stable.git, и думаю, что некоторые проблемы могут быть связаны с тем фактом, что версионные теги v2.6.x.y не все из одной линии.
Кто-нибудь знает, как это сделать правильно? Дополнительная заслуга в разработке способа автоматического продвижения вперед, насколько это возможно, с помощью бинарного поиска, чтобы найти следующее место, где Linux сломал мой код, изменив интерфейс, но я представляю, как только я знаю, что на самом деле пытаюсь сделать, я могу автоматизировать это сам .