Cómo resolver el mensaje "edición local, eliminación entrante al actualizar"

Resuelto Xah Lee asked hace 14 años • 7 respuestas

Cuando hago un svn status .me sale esto:

!     C auto-complete-config.elc
      >   local edit, incoming delete upon update
!  +  C auto-complete.elc
      >   local edit, incoming delete upon update
!  +  C popup.elc
      >   local edit, incoming delete upon update
!  +  C fuzzy.elc
      >   local edit, incoming delete upon update

Básicamente, estos archivos no deberían estar en el repositorio. Un desarrollador los ha eliminado. Entonces, creo que hice un svn rm ...a posteriori por error (debería haberlo hecho svn update .en su lugar).

Entonces, ahora, cuando lo hago svn status ., recibo estos mensajes de conflicto de árboles.

Encontré el documento aquí pero no estoy seguro de cómo "fusionarlo" según el documento.

¿Cómo deshacerse de ellos?

Creo que mi copia de trabajo está sincronizada con el repositorio. No sé por qué aparecen estos mensajes. Estos archivos deben eliminarse y, hasta donde yo sé, se eliminan en todas partes. Lo intenté svn update .y svn revert .todavía recibo este mensaje cuando lo hago svn status ..

Xah Lee avatar Dec 01 '10 03:12 Xah Lee
Aceptado

Version corta:

$ svn st
!  +  C foo
      >   local edit, incoming delete upon update
!  +  C bar
      >   local edit, incoming delete upon update
$ touch foo bar
$ svn revert foo bar
$ rm foo bar

Si el conflicto es sobre directorios en lugar de archivos, reemplácelo touchcon mkdiry rmcon rm -r.


Nota: el mismo procedimiento también funciona para la siguiente situación:

$ svn st
!     C foo
      >   local delete, incoming delete upon update
!     C bar
      >   local delete, incoming delete upon update

Versión larga:

Esto sucede cuando editas un archivo mientras otra persona elimina el archivo y lo confirma primero. Como buen ciudadano de svn, realiza una actualización antes de realizar una confirmación. Ahora tienes un conflicto. Al darse cuenta de que eliminar el archivo es lo correcto, elimine el archivo de su copia de trabajo. En lugar de estar contento, svn ahora se queja de que faltan los archivos locales y de que hay una actualización conflictiva que finalmente quiere que se eliminen los archivos. Buen trabajo svn.

No debería svn resolvefuncionar, por cualquier motivo, puedes hacer lo siguiente:

Situación inicial: faltan archivos locales, la actualización está en conflicto.

$ svn st
!  +  C foo
      >   local edit, incoming delete upon update
!  +  C bar
      >   local edit, incoming delete upon update

Vuelva a crear los archivos en conflicto:

$ touch foo bar

Si el conflicto es sobre directorios, reemplácelo touchcon mkdir.

Nueva situación: archivos locales que se agregarán al repositorio (sí, claro, svn, lo que digas), la actualización sigue en conflicto.

$ svn st
A  +  C foo
      >   local edit, incoming delete upon update
A  +  C bar
      >   local edit, incoming delete upon update

Revierta los archivos al estado que a svn le gustan (es decir, eliminados):

$ svn revert foo bar

Nueva situación: archivos locales no conocidos por svn, la actualización ya no genera conflictos.

$ svn st
?       foo
?       bar

Ahora podemos eliminar los archivos:

$ rm foo bar

Si el conflicto es sobre directorios, reemplácelo rmcon rm -r.

svn ya no se queja:

$ svn st

Hecho.

Lesmana avatar Dec 18 '2010 18:12 Lesmana

Intenta resolver el conflicto usando

svn resolve --accept=working PATH
zellus avatar Nov 30 '2010 20:11 zellus

Acabo de tener este mismo problema y descubrí que

$ svn revert foo bar

resuelve el problema.

svn resolve no funcionó para mí:

$ svn st
!  +  C foo
      >   local edit, incoming delete upon update
!  +  C bar
      >   local edit, incoming delete upon update

$ svn resolve --accept working
svn: Try 'svn help' for more info
svn: Not enough arguments provided

$ svn resolve --accept working .

$ svn st
!  +  C foo
      >   local edit, incoming delete upon update
!  +  C bar
      >   local edit, incoming delete upon update

$ svn resolve --accept working foo
Resolved conflicted state of 'foo'

$ svn st
!  +    foo
!  +  C bar
      >   local edit, incoming delete upon update
sligocki avatar Apr 13 '2011 23:04 sligocki