Почему репозиторий ядра Linux имеет только одну ветвь? [закрытый]
Я новичок в Linux, поэтому простите, если это самый очевидный вопрос, который вы когда-либо слышали.
2 ответов
магистрального ядра
прежде всего: не используйте эту ссылку github (это просто зеркало). Фактические репозитории расположены по адресуkernel.org. Вероятно, вы хотите использовать дерево Линуса Торвальдса, которое torvalds / linux.git.
это называется магистрали ядро, что означает, что это дерево является тем, где происходит фактическая разработка следующей версии ядра. Хотя есть только мастер филиал, вы можете проверка любой версии ядра с помощью тегов. Эта команда покажет вам все теги версии:
$ git tag
вы можете оформить заказ на необходимый тег, как это:
$ git checkout v4.0
нет необходимости в куче ветвей для ядра mainline, так как процесс разработки в этом дереве никогда не останавливается, и как только новая версия будет выпущена, не будет никакого обратного переноса в эту версию (внутри дерева mainline). Таким образом, Линус придерживается тегов (вместо ветвей) в этом случае.
стабильный ядро
есть еще linux-стабильный дерево. "Стабильный" означает, что после выпуска некоторые исправления ошибок будут перенесены на него. В этом дереве вы должны искать ветви (а не теги):
$ git branch -a
вы можете увидеть такие ветви, как:
linux-4.9.y
здесь y
суффикс - это просто заполнитель для версии исправления ошибок (потому что схема именования linux-4.x.y
). Всякий раз, когда вы видите y
суффикс-это стабильная ветка ядра. Некоторые из этих ветвей Ядра LTS (читать этой для деталей).
в этом случае ветви необходимы, потому что разработчики должны backport некоторые исправления ошибок в выпущенных версиях. Так что просто тегов здесь недостаточно.
далее ядра
также следует упомянуть, что есть linux-next дерево. Вот описание от документация по процессу ядра:
перед объединением обновлений из деревьев подсистем в магистрали 4.X tree, они должны быть проверены на интеграцию. Для этого существует специальный репозиторий тестирования, в который почти ежедневно втягиваются практически все деревья подсистем:
https://git.kernel.org/?p=linux/kernel/git/next/linux-next.git
таким образом,
-next
kernel дает краткий обзор того, что ожидается в ядре основной линии в следующий период слияния. Авантюрные тестеры очень приветствуются для выполнения-проверьте-next
ядра.
Хранитель деревьев
назад к деревьям. На самом деле их много, они называются мейнтейнеров деревьев. Вы можете увидеть их все здесь.
вам нужно понять политику слияния: только Linus может фактически объединить код с деревом основной строки. Вы можете увидеть много коммитов слияния у него в журнале git. Поэтому, если вы хотите, чтобы ваш патч был применен к mainline ядро, вам нужно отправить его в списки рассылки ядра для рассмотрения в первую очередь. См.Документация/SubmittingPatches. Как только ваш патч будет рассмотрен и подтвержден соответствующим сопровождающим подсистемы, он применит его к своему собственному дереву. Оттуда этот патч будет объединен с ядром mainline во время следующего слияние окно. Описана модель разработки ядра Linux здесь.
если вы заинтересованы в upstreaming ваши патчи -- вы также можете захотеть пройти kernelnewbies.org материалы.
Это РЕПО отражает только результат работы Линуса, объединяющего сотни других ветвей в одно основное РЕПО.
Он не сохраняет эти ветви, потому что их было бы слишком много: роль этого РЕПО должна быть ссылкой.