Si trato de actualizar mi repositorio de subversión, dice que debo ejecutar la limpieza. Si ejecuto la limpieza, dice que falta un archivo. (Eliminé un directorio MASIVO de archivos que no se pudo confirmar esta mañana desde mi PC local, pero luego confirmo el mismo conjunto de archivos del trabajo, y ahora mi repositorio principal está en quiebra). Entonces, la limpieza dice:
Error de limpieza al procesar blablabla No se puede configurar el archivo blablabla lectura-escritura: el sistema no puede encontrar el archivo especificado.
Si actualizo dice:
Comando: Error de actualización: la operación anterior no ha finalizado; ejecute 'cleanup' si fue interrumpido Error: ejecute el comando 'Cleanup'. ¡Terminado!:
¿Cómo consigo este despegue?
svn
tortoisesvn
coderama
fuente
fuente
Respuestas:
He estado en situaciones similares. ¿Has intentado ejecutar la limpieza desde la raíz de tu espacio de trabajo? Sé que a veces una limpieza desde un directorio secundario (donde se encuentra el problema) no funciona, y la limpieza desde la raíz del espacio de trabajo sí.
Si eso todavía falla, ya que había eliminado un directorio secundario en alguna parte. Intente eliminar 1 nivel más alto del directorio secundario también (suponiendo que no sea la raíz), y vuelva a intentar la actualización y limpieza.
Si los intentos de limpieza no tienen éxito en ningún nivel, entonces la respuesta es desafortunadamente pagar una nueva copia de trabajo.
fuente
A menudo no hay necesidad de un nuevo pago o copia.
Acabo de resolver un problema similar relacionado con el error "la operación anterior no ha terminado" con la ayuda de esto ( Enlace )
Parece que svn a veces se atasca al procesar comandos / operaciones. Todas estas operaciones se almacenan en el archivo de base de datos wc.db en la carpeta .svn.
Al descargar SQLite en mi directorio de pago y ejecutar
Puede obtener una lista de todas las operaciones pendientes. Estas operaciones son las que el error se refiere como "no terminado".
Mediante la ejecución
Todas las operaciones anteriores se eliminan de la cola de trabajo y el error desaparece. No es necesario un nuevo pago ni nada
fuente
Ejecutar la consola me
svn cleanup
ha resuelto el mismo problema.fuente
svn cleanup
también proporcionará información más detallada que el uso del complemento Tortoise Explorer, lo que lo hace muy útil en situaciones como esta.svn cleanup
, graciassvn cleanup
, asegúrate de que la consola esté elevada. No hice esto inicialmente y recibí elred-write: Access is denied
error.Acabo de tener un problema similar. Running Process Explorer mostró que otro programa (Notepad ++) tenía un identificador de archivo en una carpeta que SVN había intentado eliminar. Cuando cerré Notepad ++, "Clean Up" pudo ejecutarse con éxito.
fuente
Estaba enfrentando este problema después de agregar un jar que ya está en el SVN y agregué la nueva versión con el mismo nombre.
En Eclipse probé esto
Utilizando los pasos anteriores, puedo sincronizar.
fuente
Había intentado las respuestas más votadas aquí y algunas otras en vano. Mi
WORK_QUEUE
mesa estaba vacía y no pude intentar limpiar en una carpeta más alta. Lo que funcionó fue lo siguiente (esto es a través de Tortoise SVN);Break Locks
esté marcada y haga clic en AceptarLa operación de limpieza ahora se completa con éxito y puedo continuar. No es necesario descargar sqlite3 u otras soluciones complicadas.
fuente
Intentar ejecutar la limpieza mientras tus archivos están abiertos me dio problemas. Tan pronto como cerré mi aplicación (Visual Studio), corrí la limpieza y fue exitosa
fuente
Yo uso tortuga SVN. Cuando la limpieza falla, verifique la opción de limpieza
Asegúrate de que la opción de romper cerraduras esté marcada.
Paso de limpieza
Ya respondió, pero a veces la imagen ayuda
fuente
Tengo el mismo problema, en mi caso estaba usando svn tortoise con la aplicación que quiero decir. Usando el shell cmd de Windows en modo raíz, apliqué svn cleanup y luego svn update ... ¡Entonces puede volver al modo de aplicación y funcionará perfectamente!
fuente
Intenté eliminar la carpeta .svn a otra ubicación y la volví a colocar en la misma carpeta raíz. Luego, cuando intenté actualizar el SVN, se actualizó. No sé exactamente cómo funcionó.
fuente
Tuve el mismo problema, y de alguna manera descubrí que tenía un archivo .svn oculto en el nivel c: \. Una vez que eliminé esta carpeta oculta (.svn), todo funcionó bien. Debo haber creado involuntariamente un directorio de trabajo en la unidad raíz.
fuente
En mi caso, tenía un reloj de gulp que causaba los problemas. Después de detenerlo, podría ejecutar el comando de limpieza.
fuente
hola chicos en mis casos después de que cierre Visual Studio y vuelva a intentarlo para que funcione, que lo pasen bien
fuente
También me he quedado con el mismo problema que he intentado soplar:
1. Intente eliminar el proceso relacionado con svn, es decir, TSVNCache.exe y TortoiseProc 2. Revertir los archivos no versionados y eliminarlos, que tengo en svn. 3.Limpie usando el símbolo del sistema "svn cleanup"
y finalmente cuando reinicié el escritorio funcionó para mí, así que para reiniciar el sistema funcionó para mí
fuente
elimine el svn de la carpeta principal y reemplácelo de otra copia viable que tenga de elsewere.y luego actualícelo. La carpeta svn será normalmente una carpeta oculta. Por lo tanto, asegúrese de mostrar la carpeta antes de realizar los pasos anteriores.
fuente
Solución que funcionó para mí:
Hecho, pero no puedo explicar por qué sucede esto. Si no elimina los archivos, el comando de limpieza dice que no puede leer / escribir esos archivos.
fuente
Tuve el mismo problema, lo que funcionó para mí:
fuente
Tuve un error como "No se pueden cambiar las permanentes del archivo '/Users/Code/UnitTest.cpp': No existe tal archivo o directorio". La subversión está confundida acerca de un archivo que ya no está allí. Simplemente hice algo como "echo ABCD >> /Users/Code/UnitTest.cpp" para crear una copia del archivo y luego limpiarlo. Funcionó.
fuente
En mi caso, el error apareció al intentar confirmar desde un IDE. Cuando ejecuté el commit de los mismos directorios con TortoiseSVN en el explorador, la operación tuvo éxito.
fuente
Eso me sucedió cuando usé externos y uno de ellos estaba corrupto. Tuve que ir a esa carpeta y realizar una limpieza. Luego, la limpieza funcionó para toda la copia de trabajo.
Ejemplo: uso externo
^/widgets/foo common/foo-widget
, primero realice la limpieza en la carpetacommon/foo-widget
.fuente
Resolví este error hoy cuando ocurrió tratando de comprometerse con SVN. El error fue genuino, TortoiseSVN no pudo acceder a un archivo que intenté confirmar. Este archivo se guardó mientras ejecutaba un programa "Como administrador" en Windows. Esto significa que el archivo tiene acceso de administrador pero no acceso desde mi cuenta (TortoiseSVN se ejecuta como usuario interactivo). Tomé la propiedad del archivo designado en mi cuenta de Windows y después de eso, la limpieza pudo continuar.
fuente
Inicialmente tuve este problema al intentar registrarme con TortoiseSVN. Inicialmente, ambos, la limpieza de TortoiseSVN y la limpieza de la consola svn fallaron con mensajes similares a los del póster original.
Pero mi solución, (descubrí accidentalmente) fue solo esperar unos minutos. Estoy pensando que TSVNCache estaba reteniendo algunos de esos archivos en el momento del registro.
fuente
siga los pasos a continuación.
1) Vaya al directorio donde no puede limpiar con éxito a través de
svn
(carpeta raíz o carpeta secundaria).2) Seleccione
.svn
carpeta en el directorio, corte esa carpeta y péguela en la unidad separada o en una ubicación separada (fuera del directorio svn)3) Ahora, regrese al directorio - haga clic derecho y seleccione
TortoiseSVN -->Repo-browser
4)
Checkout
la carpeta (no realizará un nuevo pago).5) Todos sus artículos serán versionados nuevamente, y reparará el problema interno de svn, y el problema debería resolverse.
fuente
En mi caso, se estaba ejecutando una instancia de Java Virtual Machine en segundo plano, eliminando qué limpieza fue exitosa.
fuente
Había tomado la carpeta .svn de mi compañero desarrollador y reemplacé mi carpeta .svn con esto. Funcionó para mi. ¡No sé cuáles pueden ser otras consecuencias!
fuente
Usando este enlace, https://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-cleanup.html
Noté que el tutorial tenía las 6 mejores opciones marcadas. Desesperado, lo intenté usando esas casillas marcadas y, para mi sorpresa, funcionó. Asegúrese de leer cuidadosamente lo que cada uno hace. Mirando la descripción de cada uno, parecía seguro incluirlos para mí, por lo que uno de esos elementos marcados parecía haber solucionado cualquier problema que me detuviera.
fuente
Esto puede suceder cuando todavía tiene archivos abiertos cuando intenta cambiar / limpiar SVN.
Tenía una rama donde había creado un nuevo archivo, que había abierto en otra aplicación. El cambio a otra rama no pudo eliminar el archivo, lo que provocó que el cambio fallara. Esto también estaba causando el
svn cleanup
error, sin embargo, esto no se muestra como la razón en la interfaz de usuario de Tortoise SVN.Ejecutar
svn cleanup
desde una ventana de consola (en la carpeta raíz) muestra claramente el errorfile\location\file.ext: The process cannot access the file because it is being used by another process
El cierre de cualquier archivo abierto maneja / ventanas y ejecuta la consola y
svn cleanup
luego permite que la limpieza funcione correctamente.Larga historia corta: ejecute
svn cleanup
en la consola para ver un error más detallado.fuente
Además de la respuesta de Sigurd V (debe intentarlo primero), algunas bases de código más grandes tienen múltiples carpetas '.svn', y no es necesariamente la que está en el directorio raíz que tiene la tarea bloqueada.
Si ese es el caso, debe verificar cada uno. Si ya tiene SQLite y Powershell, puede localizar el directorio infractor rápidamente.
Para encontrar qué carpetas están bloqueadas, ejecute (reemplazando
path\to\sqlite.exe
):Get-ChildItem -Path . -Filter '.svn' -Recurse -Hidden | foreach { $toFind = $_.FullName + "\wc.db" ; gci $toFind | foreach { echo $_.FullName ; path\to\sqlite.exe $_.FullName "select * from work_queue" } }
.Esto proporciona una lista de directorios .svn y, debajo de cada uno, una lista de las tareas actuales.
Si hay alguna con tareas sin terminar, para cada una de ellas (reemplazando
path\to\sqlite.exe
ypath\to\.svn\wc.db
):path\to\sqlite.exe path\to\.svn\wc.db "delete from work_queue"
fuente
He visto varios problemas con
svn
, incluido este, resueltos eliminando / creando un.svn/tmp
directorio. Entonces corresvn cleanup
fuente
Por favor siga este enlace. Es resolver su problema por completo.
Vaya al directorio principal, haga clic derecho -> Tortoise SVN -> Clean Up
https://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-cleanup.html
fuente