java - plugin - install svn eclipse oxygen
¿Por qué sigo recibiendo ''SVN: Copia de trabajo XXXX bloqueada; intente realizar ''limpieza''? (11)
Si anteriormente trabajó con herramientas SVN en Eclipse (Subversión, subversivo), entonces probablemente esté familiarizado con el error ''copia de trabajo'' XXX ''bloqueado ...''.
Encontré una publicación muy útil con una solución para este problema en: Copia de trabajo XXX bloqueada y error de limpieza en SVN
Por grandiosa que sea la solución, es doloroso hacerlo una y otra vez. ¿Alguien sabe por qué sigo recibiendo este error y qué pasos puedo tomar para prevenirlo?
Contexto: estoy creando un plugin de Eclipse que implica escuchar eventos SVN, así que al probar este plugin, estoy constantemente abriendo y cerrando el espacio de trabajo. Usualmente hago 1 o 2 commits cada vez que abro el espacio de trabajo. De vez en cuando falla la confirmación y aparece el error de ''copia de trabajo bloqueada''. Me encantaría que este error no vuelva a suceder, por lo que cualquier consejo es apreciado.
¡Gracias!
- Seleccione el proyecto
- Haga clic derecho en el proyecto seleccionado
- Equipo -> Limpieza
Problema resuelto.
Nota: Los pasos anteriores solo funcionarán con Eclipse (paquete Indigo)
Asegúrese de limpiar exactamente lo que dice la consola. Por ejemplo, si una subcarpeta (un paquete) está bloqueada:
svn: E155004: Commit failed (details follow):
svn: E155004: Working copy ''C:/Users/laura/workspace/tparser/src/de/test/order'' locked
svn: E155004: ''C:/Users/laura/workspace/tparser/src/de/test/order'' is already locked.
limpieza C: / Users / liparulol / workspace / tparser / src / de / mc / etn / parsers / order
Luego necesita limpiar la carpeta especificada y no todo el proyecto. Si está en eclipse, haga clic derecho en el paquete, no en la carpeta del proyecto y ejecute la limpieza.
Después de más exploración y pruebas, parece que este problema fue causado por la depuración del plugin y el uso de puntos de interrupción. SVN / Subclipse aparentemente no le gustó tener puntos de interrupción a mitad de su ejecución y, como resultado, se crearon estos archivos de bloqueo. Tan pronto como comencé a ejecutar el complemento, este problema desapareció.
Este tipo de problema puede ocurrir cuando elimina / mueve archivos, en esencia realizando cambios en la estructura de su directorio. Subversion solo comprueba los cambios realizados en los archivos que ya se han agregado a Subversion, no los cambios realizados en la estructura del directorio. En lugar de usar los comandos de copiar, etc. de su sistema operativo, use svn copy, etc. Consulte http://svnbook.red-bean.com/en/1.7/svn.tour.cycle.html
Además, al realizar cambios, svn almacena primero un "resumen" de los cambios en una lista de tareas pendientes. Al realizar las operaciones svn en esta lista de tareas pendientes, bloquea el archivo para evitar otros cambios mientras se realizan estas acciones svn. Si la acción svn se interrumpe a medio camino, por ejemplo, por un bloqueo, el archivo permanecerá bloqueado hasta que svn pueda completar las acciones en la lista de tareas pendientes. Esto puede ser "reactivado" usando el comando svn cleanup . Por favor, consulte http://svnbook.red-bean.com/en/1.7/svn.tour.cleanup.html
Esto me sucedió cuando copié un directorio de otro proyecto de subversión y traté de confirmarlo. La solución fue eliminar el director de .svn dentro del directorio que quería confirmar.
Esto sucederá cuando algo salió mal en una de tus carpetas en tu proyecto. Debe encontrar la carpeta exacta que bloqueó y ejecutar svn cleanup
en la carpeta específica. Puedes resolver esto de la siguiente manera:
- Ejecute el comando
svn commit
para averiguar qué carpeta salió mal. - cambiar el directorio a esa carpeta y ejecutar
svn cleanup
. Entonces está hecho.
He tenido muchos problemas con SVN anteriormente y una cosa que definitivamente me ha causado problemas es la modificación de archivos fuera de Eclipse o la eliminación manual de carpetas (que contiene las carpetas .svn), que probablemente me haya causado más problemas.
editar También debe tener cuidado de no interrumpir las operaciones SVN, aunque a veces puede ocurrir un error y esto podría causar que el archivo .lock
no se elimine, y por lo tanto su error.
Lo siguiente debe desbloquear una copia de trabajo bloqueada (probado en svn client versión 1.6.11 y versión elipse: Mars.2 Release (4.5.2))
paso 1: (ir al directorio de copia de trabajo) $ cd working_copy_dir
paso 2: (conéctese a la base de datos svn sqlite) $ sqlite3 .svn / wc.db
paso 3: (eliminar todos los registros de la tabla WC_LOCK) sqlite> delete from WC_LOCK;
paso 4: (desconectarse de la base de datos sqlite 3) sqlite> ctrl + d
paso 5: (desde eclipse) haga clic derecho en su copia de trabajo, luego haga clic en Equipo -> Actualizar / Limpieza
Tuve el mismo problema al usar el paquete com.xxx.service.model
.
Para solucionarlo, primero hice una copia de seguridad de los cambios de código en el paquete modelo. Luego se eliminó el paquete del modelo y se sincronizó con el repositorio. Mostrará la entrada de toda la carpeta / paquete. Luego actualicé mi código.
Finalmente, pegue la antigua confirmación de código en el Repositorio SVN. Funciona bien.
Solución: Paso 1: debe eliminar el archivo "bloqueado" que se encuentra en el archivo oculto ".svn". Paso 2: en caso de que no haya un archivo de "bloqueo", verá que "we.db" debe abrir esta base de datos y debe eliminar el contenido solo de las siguientes tablas - lock - wc_lock Paso 3: Limpiar su proyecto Paso 4: Intentar cometer ahora Paso 5: hecho.
En general, se .lock
un archivo .lock
y decide el estado de bloqueo / desbloqueo comprobando la existencia de este archivo. Creo que si elimina este archivo .lock
solamente, entonces el problema desaparecerá.