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
mpen
fuente
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)

Roalt
fuente
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

Darrell Duane
fuente
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>"
nueve9 cinco
fuente
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.

PiggyMacPigPig
fuente
@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.

Peter Wippermann
fuente
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 "
Bala Varadarajan
fuente
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

PipoTells
fuente
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
Ujjwal Roy
fuente
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

bekce
fuente
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"
Frank-Rene Schäfer
fuente
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)

Raghu
fuente
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.

Aisuko
fuente
En la segunda línea, es svnnosyn
Diego Romero Rodríguez