2011-03-29 13 views
8

Al disparar la declaración de actualización de SVN estoy recibiendo los conflictos. ¿Cómo puedo conservar mi versión y verificarla? ¿Cuál es el comando para eso?Manejo del conflicto SVN

Respuesta

16

Si está utilizando un cliente de shell como TortoiseSVN, haga clic derecho en "resolver usando el mío" como menciona @Adi.

En la línea de comandos, es

svn resolve --accept mine-full <FILENAME> 
+0

Hmm Tengo svn: warning: W155027: Los conflictos de árbol solo se pueden resolver en estado 'de trabajo' –

1

Haga clic con el botón derecho en el archivo conflictivo y elija "usar el mío". FYI, la otra alternativa es "usar la suya". Por supuesto, esto requiere IU.

7

Si está trabajando en la línea de comandos en lugar de utilizar una interfaz de usuario, SVN le pedirá que cuando lo hace "svn update" algo así como:

Conflicto descubierto en 'bar.c': (p) Posponer (e) Editar (TF) La suya con todas las (mf) mina de pleno

Lo que se quiere es mío-completo (mf). Por supuesto, esto sobrescribirá cualquier cambio que haya hecho la otra persona, por lo que puede que desee (e) dit.

Si opta por (p) detener esto, tendrá que cambiar el archivo más tarde y marcarlo como resuelto (svn resuelto), seguido de una confirmación svn.

1

Su problema es que ambos han editado la misma parte de un archivo. Tan pronto como lo hicieras, habría problemas en el futuro. SVN no realiza el bloqueo de nivel de archivo (¡por una buena razón!), Por lo que se supone que ambos no realizarán cambios dentro de unas pocas líneas el uno del otro.

Si está utilizando Visual Studio, he estado trabajando en a tool que resaltará partes del archivo que está editando que hayan sido modificadas por otra persona.

2

En la línea de comandos:

svn resolve --accept working <FILENAME> 
0

Sólo para cualquier persona que tiene muchos conflictos y no quiere resolverlos uno por uno, manteniendo el suyo cambios, basta con ejecutar la siguiente:

svn resolve . -R --accept mine-full 

Related SO question

Cuestiones relacionadas