Flujo de trabajo de control de versiones con files binarys 'externos'

Estoy trabajando con un proyecto de software de sistema integrado en este momento, y enfrentamos algunos problemas al tratar con algunos binarys precomstackdos que viven dentro de nuestro repository.

Tenemos varios repositorys para diferentes partes de nuestro proyecto: uno para la aplicación en sí, uno para el sistema operativo, uno para el gestor de arranque y varias bibliotecas. Todos ellos, excepto el de nuestra aplicación, se comparten con otros equipos para otros proyectos. Estamos usando git (y cambiar no es una opción ahora), pero creo que tendríamos el mismo problema con cualquier VCS.

En este momento, tenemos un binary precomstackdo para cada uno de esos componentes que viven dentro de nuestro repository de aplicaciones. La idea era acelerar el time de compilation, ya que solo el sistema operativo tarda unos 20 minutos en build desde cero y la mayoría de los chicos solo trabaja con la aplicación.

El problema es que hay varios errores / características en esos binarys (y el código de aplicación relacionado) que se integrarán en cualquier momento y, como ya sabe, diferir y combinar binarys no funcionará.

Entonces, ¿qué hacen cuando tienen que trabajar con esas dependencies externas?

Muchas gracias =)

Una solución viable es usar un repository binary externo como Nexus .

  • No está vinculado a un VCS, lo que significa que puede limpiar fácilmente las versiones anteriores de dichos binarys que ya no necesita.
  • Es liviano (protocolo simple de cliente-server HTTP, no es necesario clonar todo el repository con todos los binarys versionados como lo haría con un DVCS-git o mercurial)