visual tutorial tortoise mac español svn tortoisesvn

svn - tutorial - ¿Subversión bloqueada debido a que "la operación anterior no ha finalizado"?



tortoisesvn windows 10 (29)

A menudo no hay necesidad de un nuevo checkout o copia.

Acabo de resolver un problema similar relacionado con el error "la operación anterior no ha finalizado" con la ayuda de esto ( Link )

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.

Descargando SQLite a mi directorio de pago y ejecutando

sqlite3.exe .svn/wc.db "select * from work_queue"

Puede obtener una lista de todas las operaciones pendientes. Estas operaciones son aquellas a las que el error se refiere como "no finalizado".

Mediante la ejecución

sqlite3.exe .svn/wc.db "delete from work_queue"

todas las operaciones anteriores se eliminan de la cola de trabajo y el error desaparece. No hay necesidad de una nueva compra o nada

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 confirmaron esta mañana de la PC de mi casa, pero luego escribo el mismo conjunto de archivos del trabajo, y ahora el repositorio de mi casa es un error). Entonces, la limpieza dice:

La limpieza no pudo procesar blablabla No se pudo establecer el archivo blablabla de lectura y 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 ''limpieza'' si se interrumpió Error: ejecute el comando ''Limpiar''. ¡Terminado!:

¿Cómo obtengo esto despegado?


Acabo de tener un problema similar. La ejecución de 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 ++, "Limpiar" pudo ejecutarse correctamente.


Además de la respuesta de Sigurd V (debería intentarlo primero), algunas bases de código más grandes tienen varias carpetas ''.svn'', y no es necesariamente la que está en el directorio raíz que tiene la tarea bloqueada.

Si ese es el caso, tienes que revisar cada uno. Si ya tiene SQLite y Powershell, puede ubicar el directorio ofensivo rápidamente.

Para encontrar qué carpetas están bloqueadas, ejecute (reemplazando la 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" } } 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 tareas con tareas sin terminar, para cada una de ellas (reemplazando la path/to/sqlite.exe y la path/to/.svn/wc.db ):

path/to/sqlite.exe path/to/.svn/wc.db "delete from work_queue"


Ejecutar la svn cleanup consola svn cleanup ha resuelto el mismo problema para mí.


En mi caso se estaba ejecutando una instancia de Java Virtual Machine en segundo plano, lo que provocó que la limpieza se realizara correctamente.


En mi caso tuve un trago de reloj que causó los problemas. Después de detenerlo pude ejecutar el comando de limpieza.


En mi caso, el error apareció al intentar cometer desde un IDE. Cuando ejecuté la confirmación de los mismos directorios con TortoiseSVN en el explorador, la operación tuvo éxito.


Eso me ha pasado al usar 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: Al usar ^/widgets/foo common/foo-widget externo, primero realice la limpieza en la carpeta common/foo-widget .


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ó un error en el cambio. Esto también estaba causando que la svn cleanup fallara, sin embargo, esto no se muestra como la razón en la interfaz de usuario de SVN de la tortuga.

La ejecución de svn cleanup desde una ventana de la consola (en la carpeta raíz) muestra claramente el file/location/file.ext: The process cannot access the file because it is being used by another process error file/location/file.ext: The process cannot access the file because it is being used by another process

Cerrar cualquier manija / ventana de archivo abierto y ejecutar la svn cleanup la consola svn cleanup permite que la limpieza funcione correctamente.

Larga historia svn cleanup en la consola para ver un error más detallado.


He estado en situaciones similares. ¿Ha intentado ejecutar la limpieza desde la raíz de su área de trabajo? Sé que a veces una limpieza de un directorio secundario (donde reside el problema) no funciona, y la limpieza de la raíz del área de trabajo sí funciona.

Si eso todavía falla, ya que ha eliminado un directorio secundario en algún lugar. Intente también eliminar 1 nivel más alto del directorio secundario (suponiendo que no sea la raíz), y vuelva a intentar la actualización y la limpieza.

Si los intentos de limpieza no tienen éxito en ningún nivel, desafortunadamente la respuesta es retirar una nueva copia de trabajo.


He intentado las respuestas más votadas aquí y algunas otras en vano. Mi tabla WORK_QUEUE estaba vacía y no pude intentar limpiar una carpeta superior. Lo que funcionó fue lo siguiente (esto es a través de Tortoise SVN);

  • Haga clic derecho en la carpeta
  • Ir a TortoiseSVN -> Limpiar ...
  • Asegúrate de que la opción Romper bloqueos esté marcada y haz clic en Aceptar

La operación de limpieza ahora se completa con éxito y puedo continuar. No se requiere la descarga de sqlite3 u otras soluciones complicadas.


He visto varios problemas con svn , incluido este, resuelto al eliminar / crear un directorio .svn/tmp . Luego ejecute svn cleanup


Hola chicos, en mis casos, después de cerrar Visual Studio y volver a intentarlo para limpiarlo, tengo buen tiempo


Inicialmente tuve este problema al intentar registrarme con TortoiseSVN. Inicialmente, tanto la limpieza de TortoiseSVN como la limpieza de la consola svn fallaron con mensajes similares al del póster original.

Pero mi solución (descubierta accidentalmente) fue solo esperar unos minutos. Estoy pensando que TSVNCache estaba guardando algunos de esos archivos al momento del registro.


Intenté quitar la carpeta .svn a otra ubicación y la volví a colocar en la misma carpeta raíz. Después, cuando intenté actualizar el SVN, se actualizó. No sé exactamente cómo funcionó.


Me enfrenté a este problema después de agregar un frasco que ya está en la SVN y agregué la nueva versión con el mismo nombre.

En Eclipse probé esto.

  1. Haga clic derecho en la carpeta> Equipo> Actualizar / Limpiar.
  2. Limpiar, construir y actualizar mi aplicación.
  3. Reinicie el eclipse.

Usando los pasos anteriores puedo sincronizar.



Recibí un error como "No se pueden cambiar los permisos 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, luego limpiarlo. Funcionó.


Resolví este error hoy cuando ocurrió el intento de Confirmar a SVN. El error fue genuino, TortoiseSVN no pudo acceder a un archivo que intenté confirmar. Este archivo se había guardado mientras ejecutaba un programa "Como administrador" en Windows. Esto significa que el archivo tiene acceso de administrador pero no tiene acceso desde mi cuenta (TortoiseSVN se ejecuta como usuario interactivo). Tomé posesión del archivo nominado en mi cuenta de Windows y después de eso, Cleanup pudo continuar.


Solución que funcionó para mí:

  1. Corte el contenido de su directorio y cópielo en otra carpeta.
  2. Ejecute la limpieza desde la línea de comandos en la carpeta vacía.
  3. Copia los archivos de nuevo en la carpeta original.

Hecho, pero no puedo explicar por qué sucede esto. Si no elimina los archivos, el comando de limpieza indica que no puede leer / escribir esos archivos.


También me he quedado con el mismo problema que he intentado golpe:

1.Trate de matar el proceso relacionado con svn, es decir, TSVNCache.exe y TortoiseProc 2.Reverar los archivos no versionados y la eliminación de los mismos, 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í


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 el modo raíz, apliqué svn cleanup y luego svn update .... ¡Entonces puedes volver al modo de aplicación y funcionará perfectamente!


Tomé la carpeta .svn de mi compañero desarrollador y reemplazé mi carpeta .svn con esto. Funcionó para mí. ¡No sé cuáles pueden ser otras consecuencias!


Tratar de ejecutar la limpieza mientras tus archivos están abiertos me dio problemas. Tan pronto como cerré mi aplicación (Visual Studio), ejecuté la limpieza y tuve éxito.


Tuve el mismo problema, lo que funcionó para mí:

  1. Copie sus carpetas y archivos a otro lugar, diga a una carpeta (cambié mis archivos recientemente y el compromiso falló y condujo al problema resuelto)
  2. mira una nueva copia de trabajo
  3. copie los archivos modificados de la carpeta a su copia de trabajo y anule los archivos existentes. Compromiso / actualización debería funcionar ahora

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.


Utilizando este enlace, https://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-cleanup.html

Noté que el tutorial tenía las 6 mejores opciones marcadas. En la desesperación lo intenté usando esas casillas marcadas, y para mi sorpresa, funcionó. Asegúrese de leer cuidadosamente lo que hace cada uno. Mirando la descripción de cada uno, me parecieron seguros incluirlos, por lo que uno de esos artículos revisados ​​parecía haber solucionado el problema que me estaba deteniendo.


elimine el archivo svn de la carpeta principal y reemplácelo de otra copia viable que tenga de elsewere.y luego actualice. La carpeta svn será normalmente una carpeta oculta. Por lo tanto, asegúrese de mostrar la carpeta antes de realizar los pasos anteriores.


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 la carpeta .svn 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, vuelva al directorio: haga clic con el botón derecho y seleccione TortoiseSVN -->Repo-browser

4) Checkout la carpeta (no llevará a cabo la comprobación de nuevo).

5) Todos sus artículos serán versionados nuevamente, y reparará el problema interno de svn, y el problema debería resolverse.