SVN sigue en conflicto?


284

¿Cómo consigo este directorio fuera de conflicto? No me importa si se resuelve usando "el suyo" o "mío" o lo que sea ...

PS C:\Users\Mark\Desktop\myproject> svn ci -m "gr"
svn: Commit failed (details follow):
svn: Aborting commit: 'C:\Users\Mark\Desktop\myproject\addons' remains in conflict

PS C:\Users\Mark\Desktop\myproject> svn resolve --accept working C:\Users\Mark\Desktop\myproject\addons
Resolved conflicted state of 'C:\Users\Mark\Desktop\myproject\addons'

PS C:\Users\Mark\Desktop\myproject> svn ci -m "grr"
svn: Commit failed (details follow):
svn: Commit item 'addons' has copy flag but an invalid revision

PS C:\Users\Mark\Desktop\myproject> svn update
   C addons
svn: Can't move 'addons\debug_toolbar\templates\debug_toolbar\.svn\tmp\entries' to 'addons\debug_toolbar\templates\debug
_toolbar\.svn\entries': The file or directory is corrupted and unreadable.

PS C:\Users\Mark\Desktop\myproject> svn cleanup

PS C:\Users\Mark\Desktop\myproject> svn update
Skipped 'addons'
At revision 51.
Summary of conflicts:
  Skipped paths: 1

PS C:\Users\Mark\Desktop\myproject> svn ci -m "grrr"
svn: Commit failed (details follow):
svn: Aborting commit: 'C:\Users\Mark\Desktop\myproject\addons' remains in conflict

93
la respuesta es: [svn nombre de archivo resuelto] haga esto en lugar de la solución aceptada.
Travis Schneeberger

1
@TravisSchneeberger la solución aceptada está bien 😉
Hi-Angel

svn resolved * filename * no me lo soluciona.
reinierpost

Respuestas:


447

Dé el siguiente comando:

svn resolved <filename or directory that gives trouble>

(Gracias a @Jeremy Leipzig por esta respuesta en un comentario)


35
En serio, si no te importa cómo se resuelve (tal vez solo lo vas a eliminar de todos modos) esta es la respuesta correcta.
invertedSpear

1
Esto no resuelve nada. El error probablemente surgirá nuevamente en la próxima confirmación.
Tadej

Muchas gracias, me funciona! ¡Debe en su repositorio raíz de svn, puede usar este comando!
GeekHades

276

Ok, aquí está cómo solucionarlo:

svn remove --force filename
svn resolve --accept=working  filename
svn commit

Más detalles en: http://svnbook.red-bean.com/en/1.8/svn.tour.treeconflicts.html


Si está trabajando con el IDE de Eclipse, también puede aplicar mi solución "sin línea de comando", que describí en una respuesta separada a continuación.
Peter Wippermann

3
usando svn 1.7.4, la ayuda de svn resuelta indica que "ha quedado en desuso a favor de ejecutar 'svn resolve --aceptar trabajo'".
wreckgar23 05 de

35

Para mí solo revertir --depth infinity option fixed El directorio de Svn permanece en un problema de conflicto:

svn revert --depth infinity "<directory name>"
svn update "<directory name>"

1
para revertir un directorio completo de archivos o un archivo ya no existe
biology.info

Para resolver el conflicto de archivos eliminados localmente que existe en el servidor, esta opción funcionó ..
Neo

1
Muchas gracias. "svn revert - profundidad infinita". funcionó para mí y restauró archivos borrados, que no reaparecieron solo con "svn up"
Rauli Rajande

16
  1. svn resolver
  2. limpieza de svn
  3. svn update

... estos tres comandos de la CLI de svn en esta secuencia mientras estaban en CD en el directorio correcto me funcionaron.


@Elad Tabak: En mi caso, tuve que hacerlo en el directorio principal del archivo, lo que me causó problemas, esto podría ser con lo que se topó
Jay Sullivan

11

Si está utilizando el IDE de Eclipse y tropieza con este error cuando se compromete, aquí hay una solución en la herramienta para usted. Estoy usando Subclipse, pero la solución para Subversive podría ser similar.

Lo que quizás no haya notado es que hay un símbolo adicional en el archivo en conflicto, que marca el archivo como "en conflicto".

Haga clic derecho en el archivo, elija "Equipo" y "Editar conflictos ...". Elige la acción adecuada. Combiné el archivo manualmente en el nivel de texto antes, así que tomé la primera opción, que tomará el estado actual de su copia local como "solución resuelta". Ahora presiona "OK" y listo.

El símbolo en conflicto debería haber desaparecido y debería poder volver a comprometerse.


2
Además, en caso de conflicto de directorio, puede hacer "Equipo-> Mostrar conflictos de árbol" y luego revisar todos esos conflictos y marcarlos como Resueltos (en una ventana separada "Conflictos de árbol SVN")
altumano

6

Una solución más a continuación,

Si se elimina toda la carpeta y SVN está arrojando el error "falta el archivo de administración .svn", se usará lo siguiente para resolver el conflicto en estado de funcionamiento.

svn resolve --accept working "file / directory name "

3

Instrucciones para Tortoise SVN

Navegue hasta el directorio donde ve este error. Si no tiene ningún cambio, realice lo siguiente

a. Haga clic derecho y haga un 'Revertir'
b. Seleccione todos los archivos
c. Luego actualice el directorio nuevamente


3

Utilizo el siguiente comando para eliminar el conflicto usando la línea de comando

svn revert "location of conflict folder" -R
svn cleanup
svn update

para revertir el directorio actual

svn revert . -R

Jajajaja, no, no hagas esto. Hará cosas malas.
Búho

Obviamente, revertiría sus cambios
Ujjwal Roy

en realidad funciona para algunos problemas como el conflicto y solo puede resolverse a través de cli
zero8 el

2

Si tiene problemas para resolver (como yo) y no puede eliminar y actualizar los recursos porque ha realizado muchos cambios en ellos, además de que está utilizando eclipse subversivo en lugar de cliente nativo, siga estos pasos:

  1. haga una copia de todo su proyecto dir
  2. realizar equipo> desconectarse dentro del eclipse y elegir eliminar los metadatos svn
  3. luego elija equipo> compartir proyecto y señale la misma carpeta en la que reside su proyecto
  4. elija sí y confirme todo (es posible que desee excluir algunos recursos muy locales, como archivos de configuración)
  5. si ha eliminado o movido algunos recursos antes de su primera prueba de confirmación, elimine esos recursos antiguos (deberían haberse duplicado, uno en la ubicación anterior, uno en la nueva) y confirme esas eliminaciones.

Ya terminaste


2

Supongo que la solución adecuada es:

(1) backup your-file/your-directory
(2) svn revert your-file/your-directory
(3) svn update your-file/your-directory
(4) Merge the backup your-file/your-directory to the updated one.
(5) svn ci -m "My work here is done"

0

Tuve un problema similar, así es como se resolvió

xyz @ ip: ~ / formsProject_SVN $ svn resuelto formulariosProj / templates / search

Se resolvió el estado conflictivo de 'formsProj / templates / search'

Ahora actualiza tu proyecto

xyz @ ip: ~ / formsProject_SVN $ svn update

Actualizando '.':

Seleccione: (mc) mantenga los movimientos locales afectados, (r) marque resuelto (rompe movimientos), (p) posponga, (q) abandone la resolución, (h) ayude: r (seleccione la opción "r" para resolver)

Se resolvió el estado conflictivo de 'formsProj / templates / search'

Resumen de conflictos: conflictos de árbol: 0 restantes (y 1 ya resuelto)


0

Tuve el mismo problema en Linux, pero no pude solucionarlo con la respuesta aceptada. Pude resolverlo usando cdpara ir a la carpeta correcta y luego ejecutando:

svn remove --force filename  
syn resolve --accept=working filename  
svn up

Eso es todo.


En la segunda línea, es svnnosyn
Diego Romero Rodríguez
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.