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 ...
error después del hecho (debería haberlo hecho en su svn update .
lugar).
Entonces, cuando lo hago svn status .
, recibo estos mensajes de conflicto de árbol.
Encontré el documento aquí, 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 eliminan hasta donde yo sé en todas partes. Lo intenté svn update .
y svn revert .
todavía recibo este mensaje cuando lo hago svn status .
.
"local missing or deleted or moved away, incoming dir edit upon merge"
Respuestas:
Version corta:
Si el conflicto se trata de directorios en lugar de archivos, reemplace
touch
conmkdir
yrm
conrm -r
.Nota: el mismo procedimiento también funciona para la siguiente situación:
Versión larga:
Esto sucede cuando edita un archivo mientras otra persona lo eliminó y lo confirmó primero. Como buen ciudadano de svn, usted realiza una actualización antes de 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 ver los archivos eliminados. Buen trabajo svn.
svn resolve
No debería funcionar, por cualquier razón, puede hacer lo siguiente:Situación inicial: faltan archivos locales, la actualización es conflictiva.
Recrea los archivos en conflicto:
Si el conflicto se trata de directorios, reemplácelo
touch
conmkdir
.Nueva situación: archivos locales que se agregarán al repositorio (sí, claro, svn, lo que usted diga), la actualización sigue siendo conflictiva.
Revierta los archivos al estado que le gusta a svn (eso significa que se eliminó):
Nueva situación: archivos locales desconocidos para svn, la actualización ya no es conflictiva.
Ahora podemos eliminar los archivos:
Si el conflicto se trata de directorios, reemplácelo
rm
conrm -r
.svn ya no se queja:
Hecho.
fuente
svn st | grep ! | cut -f 7 -d' ' | xargs touch
como un forro para tocar todos los archivos faltantesrm -r foo bar
(ormdir foo bar
en Windows o si le gusta Windows).Intenta resolver el conflicto usando
fuente
Acabo de recibir este mismo problema y descubrí que
resuelve el problema.
svn resolve no funcionó para mí:
fuente
Si no ha realizado ningún cambio dentro del directorio en conflicto, también puede hacerlo
rm -rf conflicts_in_here/
y luegosvn up
. Esto funcionó para mí al menos.fuente
Puede forzar a revertir su directorio local a svn.
fuente
A + C path/to/dir
y> local dir edit, incoming dir delete or move upon update
Por lo tanto, puede revertir el archivo que eliminó, pero recuerde: si está trabajando en cualquier tipo de proyecto con un archivo de proyecto establecido (como iOS), al revertir el archivo lo agregará a la estructura de carpetas de su sistema, pero no a la estructura de archivos de su proyecto. pasos adicionales pueden ser necesarios si se encuentra en este caso
fuente
Este problema a menudo ocurre cuando intentamos fusionar otros cambios de rama de un directorio incorrecto.
Ex:
Un conflicto que se lanza en su ejecución es:
Y cuando selecciona q para salir de la resolución , obtiene el estado como:
lo que claramente significa que la fusión contiene cambios relacionados con
Branch1_SubDir
yBranch1_AnotherSubDir
, y estas carpetas no se pueden encontrar dentroBranch1_SubDir
(obviamente, un directorio no puede estar dentro de sí mismo).Cómo evitar este problema en primer lugar:
La solución más simple para este problema que funcionó para mí:
fuente