¿Cómo exporto una parte de un repositorio SVN con dependencias?
-
06-07-2019 - |
Pregunta
Estoy tratando de migrar una parte de un repositorio SVN usando svnadmin dump
.
La herramienta svndumpfilter proporcionada no gestiona las dependencias de copiar / mover / renombrar de directorios no incluidos en la exportación.
¿Existe alguna herramienta que pueda administrar estas dependencias?
Solución
Encontré un script de Python de Simon Tatham llamado svndumpfilter2 , que intenta hacer frente a dependencias simples (aunque encontré algunas limitaciones).
También puede consultar un artículo sobre su migración a Subversion y la motivación para el guión.
Otros consejos
Con dependencias te refieres a las especificadas por la propiedad svn: external?
En caso afirmativo, creo que debería pasar a svndumpfilter también las rutas referrend en la propiedad.
Por ejemplo, si su proyecto está en http: // host / project
y la propiedad svn: external está establecida en http: // host / dependencies
, puede hacer algo como
svndumpfilter include http://host/project http://host/dependencies < total.dump > project.dump
No puede deshacerse de este problema. Si copió un directorio / archivo, debe incluir ambos (origen y destino) en svndumpfilter.
Sin embargo, puedes hacer algunos trucos:
Si vuelca un repositorio no de la revisión 0, pero dice, p. a partir de la revisión 100, obtendrá un nuevo repositorio con la revisión 1-100 desaparecida. Sin embargo, su repositorio de destino tiene todos los archivos / carpetas en la revisión 1 como su repositorio de origen en la revisión 100. De esta manera puede deshacerse de los datos versionados sin perder la Revisión HEAD.
Puede intentar volcar / cargar su repositorio de origen hasta su primera copia en un " plano " repositorio, luego agregue los volcados restantes en él. De esta forma, puede omitir la problemática copia de la revisión, ya que sus archivos ya están en el directorio apropiado (destino).