una tutorial trabajo espaƱol copia comandos svn aptana working-copy

tutorial - SVN: no es un error de copia de trabajo



svn no es una copia de trabajo (11)

Estoy tirando de mi pelo en este.

Tengo un sitio que está controlado por versiones usando Subversion. Yo uso aptana (eclipse, subclipse) para hacer el svn. He estado revisando y archivando archivos, actualizando etc. y todo está bien. Sin embargo, el sistema que hemos estado creando ha estado agregando sus propios archivos y carpetas.

Cuando trato de confirmar esto, me dice que <path> no es una copia de trabajo. Si trato de hacer una limpieza, entonces da el mismo error. Descubrí que puedo agregar manualmente cada archivo al control de versiones, pero esto arroja el mismo error. Hacer una actualización no ayuda, actualizar el espacio de trabajo tampoco sirve de nada. La limpieza parece morir después del error y luego el directorio está bloqueado.

Sé que se supone que debes agregar archivos usando SVN, pero ¿cómo diablos trabajas con los archivos generados? ¿Cómo puedo evitar este error " <folder> no es un directorio de copia de trabajo"? ¿Cómo hago para que Subversion simplemente mire los archivos y los agregue a su repositorio?


El error de copia no funciona significa que SVN no ha inicializado correctamente la carpeta actual.

Para solucionar el error simplemente cambie el nombre de la carpeta actual y luego obtenga una copia de trabajo adecuada del proyecto desde SVN haciendo un checkout del proyecto.

El check-out creará una copia de trabajo configurada correctamente de ese proyecto.


"No es una copia de trabajo" significa que uno de los lugares donde su IDE intenta ejecutar svn into no es controlado por svn (como agregar archivos en un subdirectorio no bajo svn ). Yo diría que revisen sus rutas dentro del IDE.


Nuestro sistema usa complementos que se instalan a través del sistema. Necesitamos que todos accedan a los archivos de plugins generados para que todos podamos ver cómo se están agregando y si se están haciendo correctamente, etc.

He intentado el equipo de aptana -> agregar al control de la versión y arroja el mismo error. Hay muchos archivos más pequeños, ¿es posible agregar un directorio completo?


Si desea que los archivos generados se agreguen a SVN, use svn add para svn add recursivamente: esto garantizará que todos los directorios sean parte de la copia de trabajo, y que todos los archivos y directorios se agreguen a SVN, y se cometerán como parte del próximo svn commit .

Sin embargo, a menudo los archivos y las carpetas generados no deben agregarse a SVN, ya que se generan a partir de los archivos fuente como parte de una compilación. En este caso, debe marcar con svn: ignore para que no formen parte de la copia de trabajo.


Tuvimos este problema hoy cuando traté de agregar una carpeta "A" en la que no tenía permiso de escritura (por lo que no pude crear la carpeta A / .svn).

La ejecución del estado svn me dio un "~" al lado de la carpeta A. La ejecución de svn cleanup decía que el padre de A estaba bloqueado.

Lo que terminó funcionando fue:

cp -r A A~ # backup, since A was not in the repo rm -rf A # removed locked directory svn rm A # remove A from pending commit mv ~A A # restore backup svn add A # re-add to pending commit svn cleanup # (had to cleanup several parent folders higher as well)


Acabo de encontrar el error "no es una copia de trabajo" en mi, ejem, copia de trabajo. Esto fue para un proyecto JDeveloper y resultó que la actualización de JDeveloper (11.1.1.2.0) que acababa de instalar incorporó una versión posterior de SVNKit que la que uso para el acceso SVN de línea de comando (jsvn). Así que JDeveloper había actualizado silenciosamente el formato de los archivos .svn, lo que significaba que el cliente de la línea de comandos no podía entenderlos. El centavo se cayó cuando jsvn se quejó de que faltaba un archivo ".svn / format" en el directorio de alto nivel de mi proyecto. Encontré montones de estos en subcarpetas, todos parecían idénticos y solo contenían el dígito "9". Así que copié uno en la carpeta de nivel superior y jsvn finalmente dio un mensaje apropiado: "svn: este cliente es demasiado viejo para trabajar con la copia de trabajo ''.''; Obtenga un cliente de Subversion más nuevo". Una vez que identifiqué (a través de Google) e instalé el nivel de SVNKit del cliente compatible, el nuevo jsvn mejorado pudo reconocer que mi copia de trabajo ES de hecho una copia de trabajo. Moraleja de la historia: si obtiene este error y está utilizando diferentes clientes SVN en la misma máquina, el problema puede ser que no se sincronizaron.


Se metió en esto ahora usando TortoiseSVN limpiando algunos directorios muertos. Realicé una copia de seguridad de los archivos y luego utilicé el navegador de rep para eliminar el directorio defectuoso (que de todos modos ya había desaparecido). Luego la limpieza del proyecto funcionó y ahora puedo continuar con mis archivos actuales.


Como realizo todas las tareas con herramientas visuales, no puedo decirle qué comandos deben ejecutarse.

Este es mi entorno, Windows XP. tortoiseSVN 1.6.7 con Subversion 1.6.9, Eclipse 3.5 con Subclipse 1.6.10. y el repositorio se gestiona con el servidor SVN visual en Windows.

  1. En el servidor visual svn, eliminé la carpeta que había creado la otra herramienta (este era el problema, como dijo Keltia).
  2. En mi explorador de Windows, haga clic derecho sobre mi proyecto y con las opciones de tortuga SVN presione actualizar . Con esta acción, la carpeta fue eliminada en mi copia de trabajo.
  3. Comprometió todos mis cambios.
  4. ejecutó la herramienta que crea la carpeta (nuevamente).
  5. con tortuga SVN marqué con agregar a la lista de ignorar .

Espero que esto ayude.


Por favor, intente descubrir dónde está el problema. ¿Es este el archivo .svn que falta o algo más? Recuerde que el archivo .svn se crea cuando termina su registro. y contiene la ruta del directorio correspondiente, nombres de código con un número único etiquetado a ellos. Ve a la ruta base de tu proyecto que crees que está marcada a la perfección. Cree un nuevo paquete temporal y agregue un código de Java de ejemplo en esa ruta. Agregar a la versión e intentar comprometer. Si recibe un mensaje de error diciendo que la carpeta está bloqueada (Intentando bloquear la carpeta ya bloqueada), vaya a la carpeta .svn y cambie el nombre del archivo de bloqueo. Intenta nuevamente registrar y comprometer

Si funciona bien, entonces has terminado. Use el mismo directorio base y vuelva a registrar su código desde ese directorio hasta su nivel de carpeta después de limpiarlo.


en mi caso, muevo el lugar del espacio de trabajo del eclipse a otro, entonces ocurre un problema. Para resolver el problema, pago un proyecto de svn repo. Luego, en un proyecto antiguo, limpio todos los archivos svn. (búsqueda simple .svn y eliminar), luego copio el contenido al que acaba de salir, mis cambios se vuelven visibles y mi proyecto está actualizado. Este método se puede aplicar para otros errores molestos. Espero ayudar a alguien


move directorio actual en otra ubicación y ejecute el comando svn update , luego reemplace el directorio con el directorio movido
si usa tortoisteSVN , puede ejecutar svn update, ejecutar la limpieza de su directorio raíz