2012-01-30 19 views
20

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.SVN ya no escribe .svn en todas las subcarpetas?

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

+0

Me doy cuenta de que mi pregunta es oscura, pero traté de buscar en google/bing antes de preguntar, pero no encontré nada relevante. cualquier ayuda o punteros serían apreciados. – MikeJ

+16

¿Qué parte de SVN está abusando para que sea conveniente tener carpetas .svn en todas partes? – Collin

+1

Siempre puede degradar su cliente svn (creo que tendrá que eliminarlo e instalar la versión anterior, luego posiblemente recuperar su repositorio de nuevo (porque presumiblemente no es compatible con versiones anteriores). – tjarratt

Respuesta

38

Subversion 1.7 presenta una reescritura completa del sistema de gestión de metadatos de copia de trabajo, código llamado WC-NG. El antiguo sistema fue una de las primeras partes de Subversion escritas, y con el tiempo se volvió difícil de mantener y extender. WC-NG está destinado a proporcionar una mejora inmediata del rendimiento, al tiempo que permite muchas mejoras de funciones futuras.

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 sola ubicación. En lugar de un directorio .svn en cada directorio de la copia de trabajo, las copias de trabajo de Subversion 1.7 solo tienen un 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 todas las necesidades de Subversion de metadatos para esa copia de trabajo.

Aunque los datos se almacenan en un formato estructurado, las relaciones entre los datos son complejas. Recomendamos encarecidamente que las herramientas externas no modifiquen los datos contenidos en esta base de datos, ya que es probable que la modificación resulte en corrupción de la copia de trabajo.

Read more here.

+5

-1: esta respuesta está un poco fuera de tema, ya que la parte central de la pregunta ("¿hay alguna manera de volver al comportamiento anterior donde cada subcarpeta tendría un .svn?") Se ignora. – Wizard79

+10

@Lorenzo Creo que la gente debería poder leer "no" en el texto provisto. – JPuge

2

La forma más sencilla de obtener la subversión para escribir directorios .svn en cada directorio es para rebajar su subversión a una versión antes de la serie 1.7. Subversion 1.6.23 fue la última versión en tener el comportamiento que desea.

Otra forma de lograr esto que funcionará con Subversion 1.7 y posterior es verificar individualmente cada subdirectorio de su proyecto. Por ejemplo, si usted tenía un proyecto con una estructura de directorios como:

project 
`- bin 
`- etc 

Se puede comprobar que funciona 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 sólo es tolerable si tiene algunos directorios y su organización es superficial

De lo contrario, retroceder a una subversión anterior es su mejor opción.

Cuestiones relacionadas