Queremos descargar (exportar, verificar) un repositorio completo e importarlo a un repositorio diferente (con todos los mensajes de confirmación) periódicamente para que podamos implementar una estrategia de etiqueta/rama.
Antecedentes: Nuestro contratista simplemente se compromete con el baúl yse niega(seamos técnicos) para crear etiquetas para versionar cada nueva biblioteca (para que podamos mantenernos al día con la gestión de cambios).
Por eso queremos importar su biblioteca todos los días a nuestro tronco y crear etiquetas y ramas de acuerdo con nuestras políticas.
¿A alguien le ha pasado esto antes?
Respuesta1
Hay muchas soluciones plausibles en la cuestión SOCómo sincronizar dos repositorios de subversion.
La opción que parece que podría aplicarse a usted sugiere el uso deeslovacoque es básicamente una versión descentralizada de svn.
Respuesta2
Si bien es bastante poco convencional, te creo.deberíapoder hacer esto con la ayuda de svnadmin
.
En el repositorio del contratista, puede ejecutar lo siguiente:
svnadmin dump --incremental -r <LOWER REVISION>:<UPPER REVISION> /path/to/bad_repo > dumpfile
luego en tu repositorio:
svnadmin load --parent contractors_stuff/ /path/to/your/repository < dumpfile
Eso agregará gradualmente revisiones del repositorio del contratista al contractors_stuff
directorio en su repositorio real. Como dije, debería funcionar en teoría, pero definitivamente este no es el uso previsto de esta función. Definitivamente es necesario realizar pruebas primero en un sistema que no sea de producción, y probablemente se rompería si hiciera cambios en esa parte de su repositorio real.
Lo ideal sería decirle a su contratista que actúe en conjunto y establezca la ley.
Una solución técnica alternativa sería utilizar un sistema de control de versiones diferente, como Mercurial, Git u otro DCVS, que soportaría mejor este tipo de flujo de trabajo.