visual tutorial tortoise español svn

svn - tutorial - Cómo resolver el mensaje de "edición local, eliminación entrante al actualizar"



tortoisesvn español (7)

Acabo de recibir este mismo problema y encontré que

$ svn revert foo bar

resuelve el problema.

svn resolver 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

Cuando hago un svn status . , Entiendo 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 ... después del hecho por error (debería haber hecho svn update . lugar).

Así que ahora, cuando hago svn status . , Recibo estos mensajes de conflicto de arboles.

Encontré el documento here pero no estoy seguro de cómo "fusionarlo" de acuerdo con el documento.

¿Cómo deshacerse de ellos?

Creo que mi copia de trabajo está sincronizada con el repositorio. No sé por qué se muestran estos mensajes. Estos archivos deben eliminarse y se eliminarán hasta donde sé. He intentado svn update . y svn revert . pero sigo recibiendo este mensaje cuando hago svn status . .


Entonces, simplemente puede revertir el archivo que eliminó, pero recuerde: si está trabajando en cualquier tipo de proyecto con un archivo de proyecto establecido (como iOS), revertir el archivo lo agregará a la estructura de carpetas del sistema pero no a la estructura de archivos de su proyecto. pasos adicionales pueden ser requeridos si usted está en este caso


Este problema suele ocurrir cuando intentamos fusionar otros cambios de rama desde un directorio incorrecto.

Ex:

Branch2/Branch1_SubDir$ svn merge -rStart:End Branch1 ^^^^^^^^^^^^ Merging at wrong location

Un conflicto que se lanza sobre su ejecución es:

Tree conflict on ''Branch1_SubDir'' > local missing or deleted or moved away, incoming dir edit upon merge

Y cuando selecciona q para salir de la resolución , obtiene el estado como:

M . ! C Branch1_SubDir > local missing or deleted or moved away, incoming dir edit upon merge ! C Branch1_AnotherSubDir > local missing or deleted or moved away, incoming dir edit upon merge

lo que claramente significa que la combinación contiene cambios relacionados con Branch1_SubDir y Branch1_AnotherSubDir , y estas carpetas no se pudieron encontrar dentro de Branch1_SubDir (obviamente un directorio no puede estar dentro de sí mismo).

Cómo evitar este problema en primer lugar:

Branch2$ svn merge -rStart:End Branch1 ^^^^ Merging at root location

La solución más simple para este problema que me funcionó:

svn revert -R .


Intenta resolver el conflicto usando

svn resolve --accept=working PATH


Puede forzar a revertir su directorio local a svn.

svn revert -R your_local_path


Si no ha realizado ningún cambio dentro del directorio en conflicto, también puede rm -rf conflicts_in_here/ y luego svn up . Esto me funcionó al menos.


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, reemplace touch con mkdir y rm con 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 edita un archivo, mientras que alguien más lo eliminó y se comprometió primero. Como buen ciudadano svn usted hace una actualización antes de un compromiso. Ahora tienes un conflicto. Al darse cuenta de que eliminar el archivo es lo correcto, borra 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 desea ver los archivos eliminados. Buen trabajo svn.

Si svn resolve no funciona, por el motivo que sea, puede hacer lo siguiente:

Situación inicial: faltan archivos locales, la actualización es conflictiva.

$ 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, entonces reemplaza el touch con mkdir .

Nueva situación: los archivos locales que se agregarán al repositorio (sí, a la derecha, svn, diga lo que diga), la actualización sigue siendo conflictiva.

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

Revertir los archivos al estado que les gusta svn (lo que significa que se eliminaron):

$ svn revert foo bar

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

$ svn st ? foo ? bar

Ahora podemos borrar los archivos:

$ rm foo bar

Si el conflicto es sobre directorios, entonces reemplace rm con rm -r .

svn ya no se queja:

$ svn st

Hecho.