{"id":451,"date":"2026-03-27T21:03:45","date_gmt":"2026-03-27T21:03:45","guid":{"rendered":"https:\/\/equipomedios.com\/blog\/?p=451"},"modified":"2026-03-27T21:03:45","modified_gmt":"2026-03-27T21:03:45","slug":"solucion-de-conflictos-en-svn-con-vs-code-guia-para-no-perder-codigo-en-el-intento","status":"publish","type":"post","link":"https:\/\/equipomedios.com\/blog\/solucion-de-conflictos-en-svn-con-vs-code-guia-para-no-perder-codigo-en-el-intento\/","title":{"rendered":"Soluci\u00f3n de conflictos en SVN con VS Code: Gu\u00eda para no perder c\u00f3digo en el intento"},"content":{"rendered":"<h1 data-path-to-node=\"3\">Soluci\u00f3n de conflictos en SVN con VS Code: Gu\u00eda para no perder c\u00f3digo en el intento<\/h1>\n<p data-path-to-node=\"4\">Cualquier desarrollador que haya trabajado en equipo ha sentido ese peque\u00f1o golpe de adrenalina (y no de la buena) al ver el mensaje: <b data-path-to-node=\"4\" data-index-in-node=\"134\">\u00abConflict\u00bb<\/b>. En el ecosistema de Subversion (SVN), los conflictos ocurren cuando dos personas editan la misma l\u00ednea de un archivo y el sistema no sabe cu\u00e1l versi\u00f3n conservar.<\/p>\n<p data-path-to-node=\"5\">Si usas <b data-path-to-node=\"5\" data-index-in-node=\"8\">Visual Studio Code<\/b> junto con <b data-path-to-node=\"5\" data-index-in-node=\"37\">TortoiseSVN<\/b>, resolver estos choques es mucho m\u00e1s visual y seguro de lo que parece.<\/p>\n<p data-path-to-node=\"5\">En esta gu\u00eda te mostramos c\u00f3mo hacerlo paso a paso.<\/p>\n<h2 data-path-to-node=\"7\"><strong>1. \u00bfC\u00f3mo identificar el conflicto?<\/strong><\/h2>\n<p data-path-to-node=\"8\">Cuando realices un <i data-path-to-node=\"8\" data-index-in-node=\"19\">Update<\/i> o un <i data-path-to-node=\"8\" data-index-in-node=\"31\">Commit<\/i> y SVN detecte cambios solapados, ver\u00e1s que en el explorador de VS Code el archivo se marca con una letra <b data-path-to-node=\"8\" data-index-in-node=\"143\">\u00abC\u00bb<\/b> de color rojo. Adem\u00e1s, en tu carpeta de Windows aparecer\u00e1n archivos temporales con extensiones <code data-path-to-node=\"8\" data-index-in-node=\"242\">.mine<\/code>, <code data-path-to-node=\"8\" data-index-in-node=\"249\">.rX<\/code> y <code data-path-to-node=\"8\" data-index-in-node=\"255\">.rY<\/code>. <b data-path-to-node=\"8\" data-index-in-node=\"260\">No los borres a\u00fan.<\/b><\/p>\n<h2 data-path-to-node=\"9\"><strong>2. Usando el editor de combinaciones (Merge Editor) de VS Code<\/strong><\/h2>\n<p data-path-to-node=\"10\">VS Code tiene una herramienta nativa excelente que simplifica la vida:<\/p>\n<ol start=\"1\" data-path-to-node=\"11\">\n<li>\n<p data-path-to-node=\"11,0,0\">Abre el archivo en conflicto. Ver\u00e1s bloques de c\u00f3digo encerrados entre <code data-path-to-node=\"11,0,0\" data-index-in-node=\"71\">&lt;&lt;&lt;&lt;&lt;&lt;&lt; Mine<\/code> y <code data-path-to-node=\"11,0,0\" data-index-in-node=\"86\">&gt;&gt;&gt;&gt;&gt;&gt;&gt; Theirs<\/code>.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"11,1,0\">En la esquina inferior derecha, haz clic en el bot\u00f3n <b data-path-to-node=\"11,1,0\" data-index-in-node=\"53\">\u00abResolve in Merge Editor\u00bb<\/b>.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"11,2,0\">Se abrir\u00e1n tres paneles:<\/p>\n<ul data-path-to-node=\"11,2,1\">\n<li>\n<p data-path-to-node=\"11,2,1,0,0\"><b data-path-to-node=\"11,2,1,0,0\" data-index-in-node=\"0\">Result (Resultado):<\/b> C\u00f3mo quedar\u00e1 el archivo final.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"11,2,1,1,0\"><b data-path-to-node=\"11,2,1,1,0\" data-index-in-node=\"0\">Incoming (Lo de ellos):<\/b> Los cambios que vienen del servidor.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"11,2,1,2,0\"><b data-path-to-node=\"11,2,1,2,0\" data-index-in-node=\"0\">Current (Lo tuyo):<\/b> Tus cambios locales.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p data-path-to-node=\"11,3,0\">Simplemente marca los checks de las l\u00edneas que deseas mantener.<\/p>\n<\/li>\n<\/ol>\n<blockquote data-path-to-node=\"12\">\n<p data-path-to-node=\"12,0\">\n<\/blockquote>\n<h2 data-path-to-node=\"14\"><strong>3. El \u00abPlan B\u00bb con TortoiseSVN (Para conflictos complejos)<\/strong><\/h2>\n<p data-path-to-node=\"15\">Si el conflicto es muy extenso o prefieres una herramienta dedicada, TortoiseSVN es imbatible:<\/p>\n<ol start=\"1\" data-path-to-node=\"16\">\n<li>\n<p data-path-to-node=\"16,0,0\">En el explorador de Windows, haz clic derecho sobre el archivo en conflicto.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"16,1,0\">Selecciona <b data-path-to-node=\"16,1,0\" data-index-in-node=\"11\">TortoiseSVN &gt; Edit Conflicts<\/b>.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"16,2,0\">Se abrir\u00e1 <b data-path-to-node=\"16,2,0\" data-index-in-node=\"10\">TortoiseMerge<\/b>. Aqu\u00ed puedes ver las diferencias l\u00ednea por l\u00ednea.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"16,3,0\">Haz clic derecho en la l\u00ednea en conflicto y elige <i data-path-to-node=\"16,3,0\" data-index-in-node=\"50\">\u00abUse text block from &#8216;mine'\u00bb<\/i> o <i data-path-to-node=\"16,3,0\" data-index-in-node=\"81\">\u00abUse text block from &#8216;theirs'\u00bb<\/i>.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"16,4,0\">Una vez editado, guarda el archivo y haz clic en el bot\u00f3n <b data-path-to-node=\"16,4,0\" data-index-in-node=\"58\">\u00abMark as resolved\u00bb<\/b>.<\/p>\n<\/li>\n<\/ol>\n<blockquote data-path-to-node=\"17\">\n<p data-path-to-node=\"17,0\">\n<\/blockquote>\n<h2 data-path-to-node=\"19\"><strong>4. El paso final: Marcar como resuelto<\/strong><\/h2>\n<p data-path-to-node=\"20\">Es vital avisarle a SVN que ya te encargaste del problema. Si no lo haces, no podr\u00e1s subir tus cambios.<\/p>\n<ul data-path-to-node=\"21\">\n<li>\n<p data-path-to-node=\"21,0,0\">En VS Code: Si usaste el Merge Editor, haz clic en el bot\u00f3n <b data-path-to-node=\"21,0,0\" data-index-in-node=\"60\">\u00abComplete Merge\u00bb<\/b>.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"21,1,0\">En Tortoise: Haz clic derecho sobre el archivo y selecciona <b data-path-to-node=\"21,1,0\" data-index-in-node=\"60\">TortoiseSVN &gt; Resolved<\/b>. Esto borrar\u00e1 autom\u00e1ticamente los archivos temporales de conflicto.<\/p>\n<\/li>\n<\/ul>\n<h2 data-path-to-node=\"22\"><strong>5. Commit y listo<\/strong><\/h2>\n<p data-path-to-node=\"23\">Ahora que el archivo vuelve a tener su \u00edcono normal (o el check verde de Tortoise), ya puedes realizar el <b data-path-to-node=\"23\" data-index-in-node=\"106\">Commit<\/b> para subir la versi\u00f3n final al servidor.<\/p>\n<h2 data-path-to-node=\"25\"><strong>Conclusi\u00f3n<\/strong><\/h2>\n<p data-path-to-node=\"26\">Resolver conflictos no tiene por qu\u00e9 ser una pesadilla si utilizas las herramientas adecuadas. La combinaci\u00f3n de la interfaz moderna de VS Code y la robustez de TortoiseSVN te asegura que nunca perder\u00e1s una l\u00ednea de c\u00f3digo importante.<\/p>\n<p data-path-to-node=\"27\"><b data-path-to-node=\"27\" data-index-in-node=\"0\">\u00bfNecesit\u00e1s optimizar el flujo de trabajo de tu equipo de desarrollo?<\/b> En <b data-path-to-node=\"27\" data-index-in-node=\"72\">Equipo Medios<\/b> somos expertos en infraestructura tecnol\u00f3gica y gesti\u00f3n de entornos de desarrollo.<\/p>\n<p data-path-to-node=\"28\"><b data-path-to-node=\"28\" data-index-in-node=\"0\">Escr\u00edbenos al <a href=\"mailto:info@equipomedios.com\">info@equipomedios.com<\/a><\/b><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Soluci\u00f3n de conflictos en SVN con VS Code: Gu\u00eda para no perder c\u00f3digo en el intento Cualquier desarrollador que haya trabajado en equipo ha sentido ese peque\u00f1o golpe de adrenalina (y no de la buena) al ver el mensaje: \u00abConflict\u00bb. En el ecosistema de Subversion (SVN), los conflictos ocurren cuando dos personas editan la misma [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":452,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false},"version":2}},"categories":[39],"tags":[],"class_list":["post-451","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-programacion"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/equipomedios.com\/blog\/wp-content\/uploads\/2026\/03\/WorkWithFilesUnderSVNInMATLABExample_01.png?fit=829%2C475&ssl=1","jetpack_sharing_enabled":true,"jetpack-related-posts":[],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/posts\/451","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/comments?post=451"}],"version-history":[{"count":1,"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/posts\/451\/revisions"}],"predecessor-version":[{"id":453,"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/posts\/451\/revisions\/453"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/media\/452"}],"wp:attachment":[{"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/media?parent=451"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/categories?post=451"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/tags?post=451"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}