Flujo de trabajo Git para el desarrollo corporativo del kernel de Linux
Trabajo para una empresa que construye sistemas embebidos usando Linux. Históricamente, siempre hemos usado CVS para almacenar nuestro trabajo del núcleo. Nuestros núcleos terminan siendo una colección de:
Drivers para nuestro hardware propietario.Arreglos aleatorios para los bits de Linux que usamos.Controladores de hardware no propietariosHacks aleatorios yukky para adaptar Linux para nuestra aplicaciónEstamos en la etapa en la que nos gustaría reajustar algunos de nuestros núcleos más antiguos en versiones más nuevas, así como arreglar nuestro flujo de trabajo CVS arcaico a algo basado en conjuntos de cambios. La elección obvia es git.
Estoy luchando para llegar a un flujo de trabajo sensible. He exportado nuestro repositorio CVS para uno de nuestros kernels y tengo una colección de conjuntos de cambios sobre el kernel base de Linus apropiado. ¿A donde voy desde aqui?
Me gustaría tener un repositorio central en el que todos los desarrolladores cometan cambios. ¿Es seguro usar rebase para hacer avanzar nuestra colección de conjuntos de cambios a una nueva revisión del kernel base y luego hacer que nuestros desarrollos se realicen en la parte superior de la nueva rama central?
Puntos de bonificación por obtener un flujo de trabajo que nos permite separar fácilmente los cambios que podrían ser adecuados para el flujo ascendente. Estoy harto de empujar una colección de cambios pequeños (o minúsculos) generalmente útiles hacia adelante todo el tiempo.