Uno de los miedos a la hora de utilizar git es hacer merges. Eso de crear una nueva rama y después fusionarla… da a veces un poco de miedo. Sobre todo porque a veces hay conflictos entre archivos y tenemos que usar herramientas para poder compararlos.

No solo cuando usamos git necesitamos comparar archivos, hay muchas razones por las que comparar un archivo y ver los cambios, desde ese Excel lleno de columnas a ese backup de la base de datos. En este artículo voy a recopilar una serie de herramientas open source y/o gratuitas para hacer comparaciones de archivos e Windows.

Notepad++

Sí, Notepad plus plus es esa herramienta tan versátil que todos tenemos instalada en Windows, pues en su sección de plugins hay uno la mar de interesante llamado “Compare Plugin”se puede descargar de aquí http://sourceforge.net/apps/mediawiki/notepad-plus/index.php?title=Plugin_Central y para instalarlo solo hay que copiar un archivo .dll a la carpeta plugins.

Ahora solo con pulsar Alt + d podemos ver las diferencias entre 2 archivos abiertos.

winMerge

WinMerge es una herramienta que nos permitirá comparar tanto carpetas como archivos, presentando las diferencias en forma de texto visual. Por lo que será fácil de entender y manejar.

La podemos descargar aquí: http://winmerge.org/

KDiff3

Permite comparar dos o tres ficheros a la vez y quedarte con los cambios que más te interesen. Después de pasear por stackoverflow y similares buscando herramientas para fusionar y comparar, Kdiff3  aparece muchísimas veces, así que no será tan mala 😉

Windiff

Sí, Windows trae una herramienta para comparar archivos solo hay que ejecutar Windiff.exe Aunque tiene una UX Windows 3.11, pude servirnos en un momento de necesidad

 

[Bola extra]

Hace ya algunos meses los chicos de códice software, creadores de PlasticSCM (http://www.plasticscm.com/) sacaron una herramienta con muy buena pinta

Semantic Merge

Semantic merge trata de analizar el código para obtener la estructura del mismo y luego fusionarse. Como una imagen vale más que mil palabras aquí os dejo una imagen de lo que soluciona SemanticMerge, puedes refactorizar y mover métodos de sitio sin tener miedo a que la fusión se convierta en una locura.

Para sintetizar, Semantic Merge permite analizar los cambios no a nivel de líneas, sino a un nivel más abstracto, viendo diferencias entre métodos, clases, propiedades o campos en un mismo fichero.

De momento solo está disponible para mergear C# y para Java, pero la herramienta promete 😉

 

9 respuestas a “Herramientas para comparar archivos”

  1. Avatar de Cesar A. Sulbaran P.

    Buenas amigo, la verdad has nombrado muchas herramientas pero yo en lo personal recomiendo meld, herramienta en software libre super potente ya que no solo compara archivos sino directorios completos.
    De verdad espero que la evalúen y veras toda la potencia que tiene

    Me gusta

    1. Avatar de jesuslc

      Gracias por el aporte. No conocía esta herramienta, aunque para confeccionar la lista me centrado sobre todo en herramientas que funcionen en windows, es bueno conocer también las cosillas útiles de Linux 😉

      Me gusta

  2. Avatar de Bastian!

    y yo te recomiendo el beyondcompare excelente.

    excelente blog

    Me gusta

    1. Avatar de jesuslc

      Gracias,
      BeyondCompare es un gran aporte. SI es una buena herramienta para comparar, pero cuando te acostumbras a KDiff3 ya nada es como antes 😉

      Me gusta

  3. Avatar de Daniel
    Daniel

    Jesus!. Gracias por tu aporte, muy bueno. Para mis cosas, yo al final he optado por el plugin de notepad++ que comentas. Aunque para cosas mas complejas me han dicho que Beyond Compare está muy bien. Como es la primera vez que me instalaba un plugin en Notepad++ he utiliza esta guia, la pongo por si a alguien le sirve: http://www.3engine.net/wp/2014/01/plugin-para-comparar-codigo-en-notepad/

    Me gusta

  4. Avatar de Nicolas ss
    Nicolas ss

    Hola.
    podría darme una luz con este tema de comparar archivos?
    tengo una aplicación que replica el árbol de directorios tomando solo los tipos de archivos que deseo ahora esos archivos los debo comparar con el mismo árbol pero tomado de otro ambiente.
    ¿conoce algún pluging que pueda implementar en mi app?
    cabe anotar que es un Windows form..

    Me gusta

    1. Avatar de jesuslc

      No entiendo muy bien tu pregunta, si tienes que comparar si 2 árboles de directorios son iguales una manera sería listarlos de forma recursiva y comparar que ambos listados son iguales.

      Me gusta

      1. Avatar de Nicolas ss
        Nicolas ss

        Ok quiza no fui claro…

        se como recorrer los directorios.
        ahora lo que necesito es implementar algún plugin que verifique las diferencias de su homónimo original me explico :
        la diferencia entre C:\CarpetaOriginal\archivo1.txt y C:\Carpeta_Copia\archivo1.txt
        es una aplicacion windows form.

        Me gusta

  5. Avatar de Adriana
    Adriana

    requiero comparar el arbol de archivos entre dos servidores linux pwero visualizar dicha informacion desde un equipo windows …conocen alguna aplicacion que me pueda ayudar con esta labor

    Me gusta

Replica a Nicolas ss Cancelar la respuesta

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.

Jesús López

Soy un Ingeniero en Informática y apasionado de la programación. Me gusta disfrutar de mi familia, viajar y perdernos paseando.  Me mola programar, hacer tests y refactorizar código . Practico Test Driven Development (TDD) y me lo paso bien con el legacy codeLeer más

Sígueme en: