tutorial tortoise tag subversion repositorio español desvincular crear carpeta branches svn version-control version-control-migration

tag - tortoise svn merge branch to trunk



¿SVN ya no escribe.svn en todas las subcarpetas? (2)

Recientemente actualicé mi cliente SVN de 1.6.9 a 1.7.2 y después de convertir al nuevo formato, noté que ya no hay un .svn en cada subcarpeta. Para mi configuración particular esto no es muy conveniente.

¿Hay una manera de deshacer esto o volver al comportamiento anterior donde cada subcarpeta de un CO tendría un .svn?


Subversion 1.7 ofrece una reescritura completa del sistema de gestión de metadatos de copia de trabajo de Subversion, código denominado WC-NG. El sistema antiguo fue una de las primeras partes de Subversion escritas, y con el tiempo se había vuelto difícil de mantener y extender. El objetivo de WC-NG es proporcionar una mejora inmediata del rendimiento, a la vez que permite muchas mejoras futuras en las funciones.

Una característica clave de los cambios introducidos en Subversion 1.7 es la centralización del almacenamiento de metadatos de copia de trabajo en una única ubicación. En lugar de un directorio .svn en cada directorio de la copia de trabajo, las copias de trabajo de Subversion 1.7 tienen un solo directorio .svn: en la raíz de la copia de trabajo. Este directorio incluye (entre otras cosas) una base de datos respaldada por SQLite que contiene todos los metadatos que Subversion necesita para esa copia de trabajo.

Aunque los datos se almacenan en un formato estructurado, las relaciones entre los datos son complejas. Desaconsejamos en gran medida que las herramientas externas modifiquen los datos almacenados en esta base de datos, ya que es probable que dicha modificación resulte en la corrupción de la copia de trabajo.

Leer más aquí.


La forma más sencilla de hacer que subversion escriba los directorios .svn en todos los directorios es degradar su subversión a una versión anterior a la serie 1.7. Subversion 1.6.23 fue la última versión que tuvo el comportamiento que desea.

Otra forma de lograr esto que funcionará con Subversion 1.7 y posteriores es revisar individualmente cada subdirectorio de su proyecto. Por ejemplo, si tienes un proyecto con una estructura de directorios como:

project `- bin `- etc

Podrías comprobarlo haciendo algo como:

mkdir project cd project svn co svn+ssh://[email protected]/src/project/bin svn co svn+ssh://[email protected]/src/project/etc

Esto solo es tolerable si tiene pocos directorios y su organización es superficial.

De lo contrario, bajar a una subversión anterior es su mejor apuesta.