Trabajo para una compañía que construye sistemas embebidos usando Linux. Históricamente siempre usamos CVS para almacenar nuestro trabajo de kernel. Nuestros granos terminan siendo una colección de:Flujo de trabajo de Git para el desarrollo corporativo del kernel de Linux
- Controladores para nuestro hardware propietario
- correcciones de azar para los bits de Linux que usamos
- controladores de hardware no-propietarios
- hacks yukky azar para adaptar Linux para nuestra aplicación
estamos en la etapa en la que nos gustaría reajustar algunos de nuestros núcleos más antiguos en las versiones más recientes, así como la fijación de nuestro flujo de trabajo de CVS arcaica a algo basado en conjuntos de cambios. La elección obvia es git.
Estoy luchando por encontrar un flujo de trabajo sensato. He exportado nuestro repositorio de CVS para uno de nuestros núcleos y tengo una colección de conjuntos de cambios sobre el núcleo de Linus base apropiado. ¿A donde voy desde aqui?
Me gustaría tener un repositorio central en el que todos los desarrolladores realicen cambios. ¿Es seguro usar rebase para mover nuestra colección de conjuntos de cambios a una nueva revisión de kernel base y luego hacer que nuestros desarrollos se lleven a cabo en la parte superior de la nueva rama central?
Puntos de bonificación para obtener un flujo de trabajo que nos permite separar fácilmente los cambios que pueden ser adecuados para la subida. Estoy harto de empujar una colección de pequeños (o pequeños) cambios generalmente útiles todo el tiempo.