Pregunta

Tengo un antiguo pero muy importante repositorio de Subversion para el que no he creado desde el principio la estructura habitual: tronco, ramas, etiquetas. Entonces, todos mis archivos para este repositorio residen en la raíz.

Sé cómo crear las nuevas carpetas y mover todos mis archivos en el tronco, pero si lo hago, perderé el historial de mi proyecto durante 3 años, ya que 'tronco' es una carpeta nueva. Entonces, ¿hay una solución para mover todo el historial de mi proyecto desde la raíz a la carpeta de troncales?

¡Gracias!

¿Fue útil?

Solución

Sí Puede usar svnadmin dump que volcará el repositorio junto con el historial en un archivo. Luego puede usar svnadmin load para cargar el archivo de volcado en la carpeta troncal. Una vez hecho esto, elimine los archivos de la raíz.

svnadmin dump REPOS_PATH [-r LOWER[:UPPER]] [--incremental]
svnadmin load REPOS_PATH

Dump Doc: http://svnbook.red-bean.com/ es / 1.1 / re31.html Cargar documento: http://svnbook.red-bean.com/en/1.0 /re36.html

Otros consejos

Puedes usar

svn copy http://my.server/svn/repos/ http://my.server/svn/repos/trunk/ \
     -m "Copied"

Para crear una copia desde la raíz de su repositorio (^ /) a trunk / (^ / trunk), manteniendo todo su historial, incluido el del directorio raíz.

Después de eso, puede eliminar los archivos y subdirectorios en la ubicación anterior en la próxima confirmación.

No perderá el historial si usa svn mv los archivos. La historia se mantendrá. Por lo tanto, puede usar el tronco svnadmin load -parent-dir para rehacer su repositorio, pero deberá hacer nuevos pagos de todo, ya que debe tener un nuevo UUID en el nuevo repositorio.

svn co http://example.com/repos/
cd repos
svn mkdir trunk tags branches
svn mv a trunk/a
svn mv b trunk/b
svn ci -m 'Moving project into trunk'

No es una solución ideal, sin duda, pero ¿por qué no crear un repositorio completamente nuevo cuyo contenido es todo el código del antiguo repositorio pero bien formateado en el tronco, etc., manteniendo el antiguo repositorio completamente separado pero haciendo que sea de solo lectura.

Sin duda, sería un dolor tener que recordar que antes de la fecha X debe buscar en el repositorio anterior en lugar del nuevo si necesita conocer el historial de un elemento.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top