Estoy buscando en svn externals para mi empresa, y parece que sería una buena característica para nosotros. Tenemos varios productos que a menudo hacen referencia a los componentes compartidos, pero tienen la mala costumbre de atrasarse en las versiones anteriores e incluso en las bases de código de diferentes ramas a veces.Ayuda para entender SVN Externals
He leído un poco decente sobre cómo funcionan ahora, y creo que entiendo bien el concepto. En lo que no estoy 100% seguro es en cómo se unen las diferentes revisiones de múltiples repositorios.
Digamos que tengo un Producto y una Biblioteca. El Producto está construido contra la Biblioteca, por lo que su repositorio tiene una propiedad svn: externals que enlaza con la fuente de la Biblioteca. En ausencia de una versión específica en la definición svn: externals, cuando reviso HEAD of Product también obtengo HEAD of Library.
Creo varias versiones de Producto a lo largo de los años, cada vez haciendo referencia a la última versión de la Biblioteca. Un día, sin embargo, tengo que volver y echar un vistazo a la versión 1 del producto, seleccionando manualmente la revisión correcta. Cuando lo hago, ¿qué versión de Biblioteca obtengo, HEAD o la revisión que utilicé cuando la construí la primera vez?
Afortunadamente, he sido un buen desarrollador y me he acordado de etiquetar todas las versiones de Producto que lanzo. Cuando aplico mi etiqueta 'Product-1-0-0' al repositorio, ¿se etiqueta también la revisión correcta del repositorio de la Biblioteca? Si más tarde reviso el Producto según la etiqueta 'Producto-1-0-0', ¿la revisión correcta de la Biblioteca se revisa con ella?
Para svn: externals, casi siempre debería fijar sus revoluciones. De lo contrario, si cambia algo en la cosa referida externamente, no puede hacer que su proyecto vuelva a su estado anterior. Además, te arriesgas a romper cosas sin saberlo. Ver http://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-externals.html, "Usar números de revisión explícitos". –