2009-11-10 18 views
7

Me las arreglé para ponerme en una situación extraña con svn. Uno de mis archivos parece "perdido" en lo que se refiere a la copia de trabajo. Cuando miro en el servidor o hago una nueva extracción de la carpeta que contiene en otra ubicación, el archivo está allí, pero en esta copia de trabajo específica parece "perdido en el espacio".svn - archivo en la copia de trabajo parece "perdido"

informes de estado SVN no hay cambios (lo que ni siquiera un archivo que falta)

svn update no hace nada

incluso intentaron re-exportar el archivo a mi copia de trabajo, a ningún efecto.

  • ¿Qué está pasando aquí?
  • ¿Cómo puedo arreglar la copia de trabajo?

Me gustaría evitar tener que recurrir a una nueva comprobación de toda la copia de trabajo, si es posible.

Respuesta

11

SVN 1.6.1 clientes (incluido TortoiseSVN) tenían un bug donde las carpetas a veces se configuraban erróneamente como profundidad "vacía". Esto causa los síntomas que describes. (Tenga en cuenta que es posible que la carpeta se haya convertido en "vacía" por svn 1.6.1 y se haya mantenido así aunque ya se haya actualizado a un cliente svn más nuevo.)

Para solucionarlo, utilice la opción del menú "actualizar a revisión" en TortoiseSVN y seleccionar la profundidad "totalmente recursiva".

+0

que lo arregló, gracias! – jeroenh

-1

Intente eliminar ese archivo en particular solo de su cuenta local, y luego realice una actualización nuevamente.

+0

El archivo ya no se encuentra, por lo que este no es operativo y no ayudará. – Ether

2

Primero, compruebe que la subversión tiene la misma idea de lo que está en su copia de trabajo que usted, con svn info en el directorio donde debería estar el archivo. ¿Es la URL la rama correcta?

A continuación, compruebe qué cambios no confirmados tiene en curso con svn update. Tal vez algo ha eliminado ese archivo? Si es así, simplemente revierte la eliminación: svn revert <file>.

A continuación (después de asegurarse de que ha guardado copias de todo lo que ha cambiado en este directorio), puede simplemente activar y desactivar el directorio completo y volver a buscarlo: cd ..; rm -rf dir; svn update dir. Eso debería volver a crear el directorio, con su archivo en él.

3

Debe:

  • Verificar que va a actualizar a la revisión correcta y que va a actualizar el elemento actual y todos sus descendientes ... algo así como svn update --revision HEAD --depth infinity
  • de limpieza con los svn cleanup y tratar de nuevo
+2

'--depth infinito' es el valor predeterminado. Creo que quiso decir '--set-depth infinito', que convierte las carpetas de copia de trabajo poco profundas en cajas completas nuevamente. –

+0

Hablando de los valores predeterminados, '--revision HEAD' también es innecesario –

+2

@wcoenen, aunque esos son los valores predeterminados, si realiza un checkout explícito de alguna revisión y con cierta profundidad, las actualizaciones adicionales mantendrán esas configuraciones y especificando * los valores predeterminados * otra vez harán la subversión deja de mantener el comportamiento. 'set-depth' sin embargo hará que la profundidad cambie, ¡así que +1 para esa! :) –

2

Tuve este error también. El problema reside ciertamente en el directorio .svn del archivo en cuestión. Intente reemplazar este directorio .svn con el correspondiente de un pago nuevo (parcial).

Cuestiones relacionadas