Solución de conflictos en SVN con VS Code: Guía para no perder código en el intento

Solución de conflictos en SVN con VS Code: Guía para no perder código en el intento

Cualquier desarrollador que haya trabajado en equipo ha sentido ese pequeño golpe de adrenalina (y no de la buena) al ver el mensaje: «Conflict». En el ecosistema de Subversion (SVN), los conflictos ocurren cuando dos personas editan la misma línea de un archivo y el sistema no sabe cuál versión conservar.

Si usas Visual Studio Code junto con TortoiseSVN, resolver estos choques es mucho más visual y seguro de lo que parece.

En esta guía te mostramos cómo hacerlo paso a paso.

1. ¿Cómo identificar el conflicto?

Cuando realices un Update o un Commit y SVN detecte cambios solapados, verás que en el explorador de VS Code el archivo se marca con una letra «C» de color rojo. Además, en tu carpeta de Windows aparecerán archivos temporales con extensiones .mine, .rX y .rY. No los borres aún.

2. Usando el editor de combinaciones (Merge Editor) de VS Code

VS Code tiene una herramienta nativa excelente que simplifica la vida:

  1. Abre el archivo en conflicto. Verás bloques de código encerrados entre <<<<<<< Mine y >>>>>>> Theirs.

  2. En la esquina inferior derecha, haz clic en el botón «Resolve in Merge Editor».

  3. Se abrirán tres paneles:

    • Result (Resultado): Cómo quedará el archivo final.

    • Incoming (Lo de ellos): Los cambios que vienen del servidor.

    • Current (Lo tuyo): Tus cambios locales.

  4. Simplemente marca los checks de las líneas que deseas mantener.

3. El «Plan B» con TortoiseSVN (Para conflictos complejos)

Si el conflicto es muy extenso o prefieres una herramienta dedicada, TortoiseSVN es imbatible:

  1. En el explorador de Windows, haz clic derecho sobre el archivo en conflicto.

  2. Selecciona TortoiseSVN > Edit Conflicts.

  3. Se abrirá TortoiseMerge. Aquí puedes ver las diferencias línea por línea.

  4. Haz clic derecho en la línea en conflicto y elige «Use text block from ‘mine'» o «Use text block from ‘theirs'».

  5. Una vez editado, guarda el archivo y haz clic en el botón «Mark as resolved».

4. El paso final: Marcar como resuelto

Es vital avisarle a SVN que ya te encargaste del problema. Si no lo haces, no podrás subir tus cambios.

  • En VS Code: Si usaste el Merge Editor, haz clic en el botón «Complete Merge».

  • En Tortoise: Haz clic derecho sobre el archivo y selecciona TortoiseSVN > Resolved. Esto borrará automáticamente los archivos temporales de conflicto.

5. Commit y listo

Ahora que el archivo vuelve a tener su ícono normal (o el check verde de Tortoise), ya puedes realizar el Commit para subir la versión final al servidor.

Conclusión

Resolver conflictos no tiene por qué ser una pesadilla si utilizas las herramientas adecuadas. La combinación de la interfaz moderna de VS Code y la robustez de TortoiseSVN te asegura que nunca perderás una línea de código importante.

¿Necesitás optimizar el flujo de trabajo de tu equipo de desarrollo? En Equipo Medios somos expertos en infraestructura tecnológica y gestión de entornos de desarrollo.

Escríbenos al info@equipomedios.com