Necesita ayuda para encontrar una estrategia para repo (herramienta)

Estoy trabajando en una image froyo para un decodificador multimedia. La image original viene con un mplayer personalizado, que tiene soporte de hardware para SoC. Los frameworks multimedia de Android (audio / video) se omiten por completo y toda la reproducción se realiza con este mplayer. Para empeorar las cosas, mplayer se comstack con OSS en lugar de ALSA. Mi objective a medio ploop es integrar alsa con dmix en la plataforma android y comstackr mplayer con soporte de alsa, para que tanto android como mplayer puedan jugar simultáneamente.

Mientras tanto, quiero cambiar cosas más pequeñas en la image original (principalmente UI, UX). Así que estoy pensando en tener dos twigs. Uno para la image original y ligeramente mejorada y otro para los cambios alsa más grandes. La sucursal alsa tendría algunos otros repositorys git que el original, por ejemplo, las cosas alsa. Además, algunos proyectos de git pueden necesitar tener su propia twig para la implementación de alsa (mplayer para salida de alsa, biónica para memory compartida, etc.). Entonces, para cambiar entre la twig original y la twig alsa, tuve que cambiar la twig de algunos repositorys git y habría algunos repositorys, que son exclusivos para la twig alsa.

¿Puedo lograr esto con un repository? ¿Es solo cuestión de comenzar una twig de tema con repository?

¿Podría describir por favor cómo configuraría la plataforma Android para esto? Cualquier sugerencia es apreciada.

Saludos, Henrik

PS: ¿Tiene sentido definir dos productos diferentes para este escenario?

PPS Ya hice esta pregunta en el grupo de google con puerto de android: https://groups.google.com/forum/?fromgroups=#!topic/android-porting/K0JmK9HFAVw

Esto me suena a implementación de características en el mismo producto, en lugar de productos diferentes.

Si todos los gits necesarios están en su lugar en todas las twigs, solo necesita apuntar a los gits afectados a la twig correcta para su function ALSA. Esto podría hacerse, por ejemplo, agregando un local_manifest.xml en el directory .repo , que se vería así:

 <?xml version="1.0" encoding="UTF-8"?> <manifest> <remove-project name="platform/blah"/> <project path="blah" name="platform/blah" revision="alsa-feature-branch"/> </manifest> 

Luego, volvería a sincronizar su repository e iniciará twigs temáticas en los gits en los que necesita realizar cambios.

También existe la posibilidad de fusionar los cambios a su twig principal una vez que se haya completado la function (o incluso realizar el desarrollo de características directamente en la twig principal) y tener un indicador en su file makefile o system.prop que decida si la function será utilizado o no