Sincronizar una sucursal remota desde un server remoto de git

He duplicado todos los repositorys de Android en mi repository local, pero con el lanzamiento de la nueva versión me pareció difícil actualizar desde el inicio.

Aquí está el detalle:

Después de reflejar la fuente de Android, mi modificación se encuentra en mi propia twig my-jb-mr1 en mi server privado. my-jb-mr1 está ramificado desde aosp jb-mr1.

  • dominar
  • jb-mr1
  • my-jb-mr1

Ahora, kitkat está disponible en aosp. Descubrí que no sé cómo actualizar mi server privado para realizar un seguimiento de aosp. Mi idea es

  1. fusionar aosp master con mi maestro de repository local y luego enviarlo a mi server privado
  2. ramificar el código basado en el nodo de twig en aosp

Pero esto parece que no funciona. Debido a que la twig en aosp que quiero hacer un seguimiento es kitkat-dev y kitkat-release. La twig principal en aosp no incluye todas las confirmaciones dentro de la twig objective.

Lo que quiero es sincronizar desde aosp. Después de la synchronization, el repository es como:

  • dominar
  • jb-mr1
  • kitkat-dev
  • kitkat-release
  • my-jb-mr1

kitkat-release y kitkat-dev deberían ser exactamente iguales con la twig en aosp.

¿Podría alguien darme alguna pista sobre cómo manejar este caso?

Normalmente, la twig principal de AOSP será un superset de la twig de publicación más reciente, pero no estoy seguro de que ese sea el caso en este momento y su pregunta parece confirmarlo. No espere que sea cierto todo el time, especialmente no justo después de un lanzamiento.

Para llevar las twigs de Kitkat a su server, comience sincronizando un espacio de trabajo desde los serveres de AOSP:

repo init --mirror -u https://android.googlesource.com/platform/manifest -b kitkat-dev 

Normalmente sugeriría que se sincronice el manifiesto reflejado como se describe en la sección Uso de un espejo local de la documentation, pero ahora el manifiesto reflejado no contiene todos los gits que se agregaron en Kitkat. Espero que se agreguen en breve.

Cuando finalice la synchronization, ingrese al espacio de trabajo y envíe las nuevas sucursales a su server:

 repo forall -c 'git push ssh://yourserver.example.com/$REPO_PROJECT aosp/kitkat-dev:refs/heads/kitkat-dev aosp/kitkat-release:refs/heads/kitkat-release 

También puede usar comodines para enviar todas las twigs de AOSP a su server:

 repo forall -c 'git push ssh://yourserver.example.com/$REPO_PROJECT aosp/*:refs/heads/*