Почему репозиторий ядра Linux имеет только одну ветвь? [закрытый]

Я новичок в Linux, поэтому простите, если это самый очевидный вопрос, который вы когда-либо слышали.

https://github.com/torvalds/linux/branches/all

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 материалы.


Это РЕПО отражает только результат работы Линуса, объединяющего сотни других ветвей в одно основное РЕПО.

Он не сохраняет эти ветви, потому что их было бы слишком много: роль этого РЕПО должна быть ссылкой.