208 votos

Error de SVN - no una copia de trabajo

Recientemente nuestro servidor svn se cambió y se hizo un svn switch.

Desde la copia de trabajo había una cantidad enorme de no versionado de los recursos, la copia de trabajo tengo bloqueado y empezamos a cambiar de carpeta por carpeta para todas las carpetas en svn, el cual funciona perfectamente bien.

Pero en el nivel superior del depósito, cuando trato de actualizar los archivos, me sale el svn: copia de Trabajo '.' bloqueado de error y la limpieza no es ayudar. Cuando tengo que hacer la limpieza, tengo errores como estos - svn: 'contenido' no es una copia de trabajo de directorio

Fresco checkout NO es una opción. ¿Hay otras maneras para limpiar y liberar los bloqueos y hacer el interruptor completamente ?

EDICIÓN: El último párrafo en JesperE de la respuesta

Si usted recibe un "no es una copia de trabajo" cuando haciendo un recursiva "svn cleanup" mi supongo que es que tienes un directorio lo que debería ser una copia de trabajo (es decir. el directorio .svn en el nivel superior dice así), pero faltan los de su propio Directorio .svn. En ese caso, podría intentar acaba de quitar/mover directorio y, a continuación, hacer una actualización local

parece ser la solución al problema en el repositorio. He identificado las carpetas y hacía un fresco checkout de esas carpetas solo y wow, los bloqueos se liberan en la posterior limpieza! Muchas gracias JesperE !!

Pero, aún no me figura el svn switch de error que ahora se lee algo así como,

svn: El repositorio en 'svn://repourl/reponame/nombredecarpeta' ha uuid 'm/reponame', pero el WC "se ha b5b39681-0ff6-784b-ad26-2846b9ea8e7d'

Alguna idea ?

123voto

JesperE Puntos 34356

Si usted recibe un "no es una copia de trabajo" cuando se realiza un recursiva svn cleanup mi conjetura es que usted tiene un directorio que debe ser una copia de trabajo (es decir. la .svn directorio en el nivel superior lo dice), pero faltan los de su propia .svn directorio. En ese caso, usted podría intentar acaba de quitar/mover el directorio y, a continuación, hacer una actualización local (es decir. rm -rf content; svn checkout content).

Si usted recibe un not a working copy de error, significa (como estoy seguro que usted conoce) que Subversion no puede encontrar un adecuado .svn directorio de allí. Hay un .svn directorio contents? (Que es el tipo de información que usted tiene que dar para que la gente pueda solucionar el problema. Recuerde que no tenemos acceso a su setup, lo que tiene que explicar es el detalle que podemos calcular a partir de su descripción de lo que está mal.)

A menudo, cuando usted no puede aceptar una respuesta obvia (fresco checkout), es una buena idea explicar por qué. Yo no puedo pensar en una razón por qué un nuevo checkout nunca sería una opción.

46voto

Ken Arnold Puntos 974

Me metí en una situación similar ( svn: 'papers' is not a working copy directory ) una forma diferente, así que pensé que podría publicar mi historia de batalla (simplificado):

$ svn add papers
svn: Can't create directory 'papers/.svn': Permission denied

¡ Uy! fijar los permisos... entonces:

$ svn add papers
svn: warning: 'papers' is already under version control
$ svn st
~     papers
$ svn cleanup
svn: 'papers' is not a working copy directory

Y ni siquiera mover papers fuera del camino y funcionando svn up (que trabajó para la operación) no arreglarlo. Aquí está lo que hice:

$ mv papers papers_
$ svn cleanup
$ svn revert papers
Reverted 'papers'
$ mv papers_/ papers
$ svn add papers

Eso funcionó.

6voto

Lo resuelto por

  1. Copiar una copia de seguridad de las carpetas afectadas
  2. SVN revertir las carpetas afectadas
  3. Pegar los archivos de la copia de seguridad

En mi caso el problema era debido a .svn-archivos borrados.

5voto

Hextler Puntos 51

Tal vez usted acaba de copiar árbol de carpetas y tratando de agregar uno más bajo.

SVN
|_
  |
  subfolder1
       |
       subfolder2   (here you get an error)

en ese caso tienes que cometer el directorio en el nivel superior.

3voto

abatishchev Puntos 42425

Solución: Renombrar directorio que no es "copia de trabajo' Checkout/actualizar/restaurar este directorio nuevo mover archivos del directorio renombrado a nuevo Commit cambia

Razón: Hecho algunos cambios en algunos archivos del directorio .svn, esto rompe la 'copia de trabajo'

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X