linux - picard - puddletag
¿Por qué el repositorio del kernel de Linux tiene solo una rama? (2)
Kernel de linea principal
En primer lugar: no uses ese enlace de github (es solo un espejo). Los repositorios actuales se encuentran en kernel.org . Probablemente quieras usar el árbol de Linus Torvalds, que es torvalds/linux.git .
Se llama mainline kernel, lo que significa que este árbol es aquel en el que está ocurriendo el desarrollo real de la próxima versión del kernel. Aunque solo tiene una rama maestra , puede realizar el pago de cualquier versión del kernel utilizando etiquetas. Este comando te mostrará todas las etiquetas de la versión:
$ git tag
Puede retirar la etiqueta deseada de esa manera:
$ git checkout v4.0
No hay necesidad de un grupo de ramas para el núcleo de la línea principal, ya que el proceso de desarrollo en este árbol nunca se detiene, y una vez que se lanza la nueva versión, no habrá ningún portador de esa versión (dentro de la línea principal). Así que Linus se adhiere a las etiquetas (en lugar de ramas) en este caso.
Kernel estable
También hay linux-stable árbol linux-stable . "Estable" significa que después de la publicación, algunas correcciones de errores se trasladarían a él. En este árbol debes buscar ramas (en lugar de etiquetas):
$ git branch -a
Puedes ver ramas como:
linux-4.9.y
donde y
sufijo es solo un marcador de posición para una versión linux-4.xy
(porque el esquema de denominación es linux-4.xy
). Cada vez que veas tu sufijo, es una rama estable del kernel. Algunas de esas ramas son núcleos LTS (lea this para más detalles).
En este caso, se necesitan sucursales porque los desarrolladores tienen que respaldar algunas correcciones de errores en las versiones publicadas. Así que las etiquetas no son suficientes aquí.
Siguiente kernel
También hay que mencionar que hay linux-next tree. Aquí está la descripción de la documentación del proceso del kernel :
Antes de que las actualizaciones de los árboles del subsistema se fusionen en el árbol de la línea principal 4.x, deben ser probadas por integración. Para este propósito, existe un depósito de pruebas especial en el que se extraen casi todos los árboles de subsistemas casi a diario:
https://git.kernel.org/?p=linux/kernel/git/next/linux-next.git
De esta manera, el kernel
-next
ofrece una perspectiva resumida de lo que se espera que ingrese al kernel de la línea principal en el próximo período de fusión. Los probadores aventureros son muy bienvenidos para probar en tiempo de ejecución el-next
kernel.
Árboles mantenedores
De vuelta a los árboles. En realidad hay muchos de ellos, se llaman árboles mantenedores . Puedes verlos todos here .
Debe comprender la política de fusión: solo Linus puede fusionar el código con el árbol de la línea principal. Puedes ver una gran cantidad de confirmaciones de fusión de él en el registro de git. Por lo tanto, si desea que su parche se aplique al núcleo de la línea principal, primero debe enviarlo a las listas de correo del kernel para su revisión. Ver Documentation/SubmittingPatches . Una vez que su parche subsistente revisa y reconoce su parche, lo aplicará a su propio árbol. Desde allí, este parche se fusionará con el núcleo de la línea principal durante la próxima ventana de combinación . El modelo de desarrollo del kernel de Linux se describe here .
Si está interesado en actualizar sus parches, es posible que también desee kernelnewbies.org materiales de kernelnewbies.org .
Soy un principiante de Linux, así que perdóname si esta es la pregunta más obvia que hayas escuchado.
Este repositorio solo refleja el resultado del trabajo de Linus fusionando cientos de otras sucursales en un repositorio principal.
No conserva esas sucursales porque habría demasiadas: el papel de ese repo es ser una referencia.