Pregunta

Tengo un proyecto VS 2008 bajo el control de fuente TortoiseSVN.Soy la única persona que lo usa actualmente.

Estaba intentando realizar mis últimos cambios cuando recibí el mensaje "El archivo abc no está actualizado; actualícelo".Cuando intento actualizar el proyecto, aparece un conjunto completo de conflictos de archivos (binario y texto).Como estoy seguro de que mi copia de trabajo contiene la versión correcta de los archivos, intento resolver los conflictos seleccionando "mío" como la versión correcta.También intenté marcar cada conflicto de archivos como resuelto.Entonces puedo comprometerme.

Sin embargo, después de esto, mi proyecto VS 2008 se niega a compilar y genera cientos de errores (¡tantos errores que VS 2008 informa que hay demasiados errores para mostrar!).Algo en la resolución de conflictos de TortoiseSVN arruina por completo el proyecto y se niega a construir.

¿Hay alguna forma de obligar a TortoiseSVN a guardar mi copia de trabajo en el repositorio como la última revisión, sin comprobar si hay conflictos?

¿Fue útil?

Solución

Espero que hayas hecho una copia de seguridad de tu copia de trabajo antes de actualizar, porque de lo contrario lo más probable es que los conflictos hayan generado una gran cantidad de >>>>>> theirs y <<<<<<< mine comentarios en sus archivos fuente.

Si bien no entiendo cómo podrían ocurrir los conflictos en primer lugar (ya que usted es el único que se compromete con el repositorio), existe una posible solución.

Mueva su copia de trabajo actual y "de trabajo" a un lugar seguro.Mira el proyecto completamente nuevo.Copie sus archivos fuente sobre la copia de trabajo nueva y luego confirme los cambios resultantes.

Cuando su árbol de fuentes consta de varios directorios, puede resultar tedioso copiar cada directorio individualmente.Para superar esto, puede exportar su copia de trabajo "de trabajo" segura usando TortoiseSVN -> Exportar todo.Esto crea un directorio sin todos los archivos y directorios .svn.Luego puede copiar este directorio exportado sobre la copia de trabajo nueva.

Otros consejos

He descubierto que los archivos de proyecto de Visual Studio son bastante propensos a problemas de fusión automática. El problema es que el formato de los archivos es tan repetitivo que la utilidad de fusión tiene dificultades para determinar si un cambio es una adición o una modificación. Además, algunas acciones parecen hacer que Visual Studio reorganice las entradas en el archivo del proyecto. Una vez más, estos cambios son relativamente difíciles de manejar correctamente para la utilidad de combinación.

Confío en una de las dos opciones para solucionar esto. Primero, puede abrir el archivo del proyecto en el bloc de notas y arreglarlo a mano. No son tan complejos y generalmente puede seguir el patrón y asegurarse de que nada esté fuera de lugar.

El segundo enfoque sería revertir el archivo del proyecto y luego agregar y eliminar archivos y realizar otros cambios según sea necesario en Visual Studio.

Si las confirmaciones se realizan temprano y con frecuencia, ninguna de estas tareas es demasiado compleja. Si se lanzan bombas en el repositorio, bueno, esta es una de las muchas razones por las que comprometerse temprano y, a menudo, es una buena idea. =)

Visual Studio y TortoiseSVN no juegan bien juntos. Una cosa que he notado es que no puede versionar con éxito nada en un directorio de compilación, porque VS piensa que & Quot; posee & Quot; los directorios de compilación, y es probable que elimine su carpeta .svn (¿esto es solo para compilaciones que implican una limpieza?)

Puede mirar un cliente Subversion que se integra en Visual Studio. Me viene a la mente AnkhSVN, pero un buen punto de partida para investigar esto sería http: //sharpsvn.open.collab. net / . Alternativamente, puede considerar usar sharpsvn directamente desde una tarea previa o posterior a la compilación, o tal vez una macro en Visual Studio.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top