tutorial - SVN Error-No es una copia de trabajo
tag svn (21)
svn: El repositorio en ''svn: // repourl / reponame / foldername'' tiene uuid ''m / reponame'', pero el WC tiene ''b5b39681-0ff6-784b-ad26-2846b9ea8e7d''
Cada repositorio de subversión tiene un identificador único (uuid). Subversion usa esto para asegurarse de que el repositorio sea en realidad el mismo cuando se hacen cosas como cambiar. Probablemente debería cambiar el uuid en el servidor para que sea el mismo que antes.
Recientemente se cambió nuestro servidor svn e hicimos un conmutador svn.
Dado que la copia de trabajo tenía una gran cantidad de recursos no versionados, la copia de trabajo se bloqueó y comenzamos a cambiar carpeta por carpeta para todas las carpetas bajo svn, lo que funciona perfectamente bien.
Pero en el nivel más alto del repositorio, cuando intento actualizar los archivos, obtengo la copia svn: Working ''.'' El error bloqueado y la limpieza tampoco ayudan. Cuando hago la limpieza, recibo errores como estos: svn: ''contenido'' no es un directorio de copia de trabajo
La salida fresca no es una opción en absoluto. ¿Hay otras formas de limpiar y liberar los bloqueos y hacer el cambio por completo?
EDITAR: El último párrafo en la respuesta de JesperE.
Si obtiene un "no es una copia de trabajo" cuando realiza una "svn cleanup" recursiva, supongo que tiene un directorio que debería ser una copia de trabajo (es decir, el directorio .svn en el nivel superior lo dice), pero falta su propio directorio .svn. En ese caso, podría intentar simplemente eliminar / mover ese directorio y luego hacer una actualización local
Parece ser la solución al problema en el repositorio. He identificado esas carpetas e hice una nueva comprobación de esas carpetas específicas solo y wow, los bloqueos se liberan en la limpieza posterior. Muchas gracias JesperE !!
Pero, todavía no puedo entender el error svn switch que ahora lee algo así como,
svn: El repositorio en ''svn: // repourl / reponame / foldername'' tiene uuid ''m / reponame'', pero el WC tiene ''b5b39681-0ff6-784b-ad26-2846b9ea8e7d''
Algunas ideas ?
¿Podría ser una falta de coincidencia de formato de copia de trabajo? Cambió entre svn 1.4 y 1.5 y las herramientas más nuevas convierten automáticamente el formato, pero luego las antiguas ya no funcionan con la copia convertida.
@JesperE mentions que necesitas cambiar el uuid. Lo siguiente debería ayudarte a lograr esto.
En SVN 1.5+, puedes hacer svnadmin setuuid; A continuación, puede comprobar que se ha configurado correctamente con svnlook uuid. En versiones anteriores de SVN, es un proceso más difícil. Consulte http://chestofbooks.com/computers/revision-control/subversion-svn/Managing-Repository-UUIDs-Reposadmin-Maint-Uuids.html
Además, el UUID de "m / reponame" parece sospechoso. Creo que debería ser un número con formato hexadecimal como el de la copia de trabajo, así que tal vez esta acción mejore todo el tiempo :-)
[Originalmente mentions , pero la creé para que sea más obvia para las personas y más útil para Google. Desde entonces he eliminado mis comentarios. ]
Acabo de encontrar un caso donde el directorio .svn está en un servidor nfs en una máquina diferente, y el cliente nfs no estaba ejecutando el servicio de bloqueo de archivos ( lockd
).
svn: E155007: ''/mnt/svnworkdir'' is not a working copy
Esto desapareció una vez que se inició lockd
en el host del cliente nfs.
Parece que Subversion podría tener un mejor mensaje de error cuando tiene problemas para bloquear archivos. Esta fue la subversión 1.10.0.
Acabo de recibir "no una copia de trabajo", y para mí el motivo fue Automouter en Unix. Solo un nuevo "cd / path / to / work / directory" hizo el truco.
Debe haber eliminado un archivo SVN - base de su proyecto (que son archivos de solo lectura). Debido a esto obtienes este error.
Vuelva a revisar un proyecto nuevo, combine los cambios (si los hubiera) de su proyecto SVN anterior con uno nuevo usando "Winmerge" y confirme los cambios en su último registro de salida.
Elimine la carpeta .svn que está presente en su máquina local. Presione el ícono de windows y escriba .svn, borre toda la carpeta. Funcionó para mí.
Esto es lo que hice:
- renombrar tronco a tronco_
- crear una nueva carpeta de tronco
- Vuelva a verificar e interrumpa el proceso después de que se hayan retirado algunos archivos
- Mueve los archivos de trunk_ a trunk
- Hacer limpieza svn
- Hacer actualización svn. Esto actualizará el estado de los archivos y luego todos sus archivos serán versionados.
Hoy he encontrado el mismo problema /FILE_NAME/ is not a working copy
en la mañana y he pasado más de dos horas para resolverlo. Después de mucho tiempo de RND y Google encontré una solución y eso es CHECKOUT
.
-
CHECKOUT
deSUBVERSION
a local como nuevo proyecto. - Cambie algo de código en el archivo java y COMPRUEBE el proyecto.
- Funciona para mí.
Espero que te sea de utilidad.
Igual, necesitaba actualizar una carpeta ''contrib'':
- Mueve la vieja carpeta,
- Copiado el nuevo
- Copié las carpetas .svn en cada carpeta nueva (solo tres en mi caso).
En mi caso, el problema se debió a las carpetas .svn eliminadas.
Resuelto
Intenté pegar la carpeta .svn desde la subcarpeta a la carpeta raíz. ¡¡¡Funciona!!!
Lo resolví por
- Copia una copia de seguridad de las carpetas afectadas
- SVN revertir las carpetas afectadas
- Vuelve a pegar los archivos de la copia de seguridad.
En mi caso, el problema se debió a archivos .svn eliminados.
Me metí en una situación similar ( svn: ''papers'' is not a working copy directory
) de una manera diferente, así que pensé en publicar mi historia de batalla (simplificada):
$ svn add papers
svn: Can''t create directory ''papers/.svn'': Permission denied
Ups! arreglar 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
E incluso mover papers
fuera del camino y ejecutar svn up
(que funcionó para el OP) no lo solucionó. Esto es lo que hice:
$ mv papers papers_
$ svn cleanup
$ svn revert papers
Reverted ''papers''
$ mv papers_/ papers
$ svn add papers
Eso funciono.
Recientemente estuve usando otros desarrolladores Mac tuve la misma situación, el problema era; Primero necesitaba escribir get repo path to terminal, pero no lo hice, que dice cuál es su nombre de usuario y contraseña.
Si creó un archivo dentro de un nuevo directorio, en lugar de ''svn add newdir / newfile'' use ''svn add newdir'' porque necesita agregar el directorio. Todos los archivos dentro del directorio se agregarán por defecto.
Solución alternativa: cambie el nombre del directorio que no es ''copia de trabajo'' Checkout / update / restore this directory again Mueva los archivos del directorio renombrado a nuevos cambios de confirmación
Motivo: realizó algunos cambios en algunos archivos en el directorio .svn, esto rompe "copia de trabajo"
Tal vez acaba de copiar el árbol de la carpeta y tratar de agregar el más bajo.
SVN
|_
|
subfolder1
|
subfolder2 (here you get an error)
En ese caso tienes que confirmar el directorio en el nivel superior.
También me encuentro con este problema en la operación svn diff, fue causado por una ruta de archivo incorrecta, debe agregar ''./''
para indicar el directorio de archivos actual.
Teniendo este mismo problema, resulta que teníamos Slik 1.6.2 y Tortoise en la misma máquina. Tortuga había sido actualizada (y había actualizado la copia de trabajo) pero Slik no, así que la Tortuga funcionó bien, pero las líneas de comando fallaron con:
svn: ''.'' no es un directorio de copia de trabajo
La eliminación de Tortoise y Slik, luego la reinstalación de Tortoise con las herramientas de la línea de comandos activadas lo solucionó.
para mac: realice la verificación desde el lado del servidor y se abrirá una nueva ventana para seleccionar el directorio de su máquina local que coloque su código completo en la carpeta seleccionada, luego abra el lado local svn y agregue y confirme el proyecto
Si obtiene un "no es una copia de trabajo" cuando realiza una svn cleanup
recursiva, supongo que tiene un directorio que debería ser una copia de trabajo (es decir, el directorio .svn
en el nivel superior lo dice), pero falta su propia copia. Directorio .svn
. En ese caso, podría intentar simplemente eliminar / mover ese directorio y luego hacer una actualización local (es decir, rm -rf content; svn checkout content
).
Si obtiene un error de not a working copy
, significa que Subversion no puede encontrar un directorio .svn
adecuado allí. Compruebe si hay un directorio .svn
en los contents
La solución ideal es un checkout fresco, si es posible.