En Linux existe un comando de consola llamado diff
que nos permite ver los cambios realizados entre dos versiones de un archivo; también tenemos un comando llamado merge
que sirve para combinar cambios. Existen varios programas con interfaz gráfica con el mismo propósito. Uno de estos programas es meld.
Meld nos muestra las diferencias entre dos archivos o entre todos los archivos de dos directorios utilizando distintos colores, y nos permite editar estos archivos desde el propio programa, actualizando dinámicamente las diferencias. El programa incluye filtros y distintas ayudas para hacer la edición más sencilla, como flechas al lado de los cambios para aplicar algún cambio en el otro fichero con un simple clic.
Además meld se puede utilizar como un sencillo cliente de control de versiones para CVS, Subversion, Bazaar y otros.
Para instalarlo en Ubuntu:
sudo aptitude install meld
Muy bueno el programa, y perfecto si es python, así puedo aprender como hacer ciertas cosillas que hace meld 😛
En Windows hay un programa parecido llamado WinMerge. Una de las ventajas que tiene es que tiene coloreado de sintaxis para varios lenguajes, así que ayuda mucho cuando estás comparando códigos:
http://winmerge.org/
Windows? Que es eso? XD (va en broma)
Meld también tiene resaltado de sintaxis 🙂 Utiliza el gtksourceview
Hace tiempo que buscaba algo así, ahora bien, ¿Cómo puedo utilizar gtksourceview?.
Gracias por la ayuda.
D’oh!
@Johao gtksourceview es un widget de gtk. ¿Estás preguntando por cómo programar una aplicación que use ese widget o por cómo activar el resaltado de sintaxis en Meld?
Si es lo primero aquí tienes la API
Si es lo segundo, Configuración -> Preferencias -> Editor -> Usar resaltado de sintaxis
@Zootropo gracias, era lo segundo, ni siquiera lo había visto; aunque no me funciona con archivos php, si lo hace en html, ¿hay que hacer algo más¿.
Lo siento, ya se que esto no es un foro.
Salu2.
Parece ser que con algunos lenguajes no funciona el resaltado de sintaxis para el código en Meld debido a que no le reportan correctamente el tipo del archivo al widget (descripción del bug).
Pero en la misma página hay un parche que se puede aplicar a /usr/lib/meld/filediff.py y que en teoría debería solucionarlo.
Ok, para todos los que necesiten resaltado de sintaxis puedo confirmar que funciona.
Editamos /usr/lib/meld/filediff.py
sudo gedit /usr/lib/meld/filediff.py
y sustituimos el código del
if sourceview_available:
por:Cuidado con los espacios. Los bloques en Python tienen que estar indentados.
Realmente Meld puede comparar hasta tres archivos o directorios.
Sin duda ya lo voy a probar. Podría utilizarse quizás para comprobar los checksums entre varios archivos, ¿no creéis?
Un saludo,
Antonio
Tecnobot.com
Pingback: Comparando comparando… « Que che vou contar…
Pingback: meld, el diff y merge gráfico « El Blog de rubensa
Pingback: El blog de neonigma » Archivo del Blog » Comparar archivos y carpetas de archivos en Linux
JEJEJE! navegando por la red vengo a parar a uno de mis blogs favoritos desde google! ta bn lo meld muy buena app!
hago una consulta, se puede integrar al subversion?
osea en vez de hacer un svn diff hacer svn meld, gracias
Gracias por el tip me ayudo muchisimo ya que necesitaba comparar directorios y funciono a la perfección
Salu2
En Windows también hay un comando, se llama fc.
En cuando a meld por lo visto no sirve para comparar archivos si son binarios.
Olvidaba decir, que aunque no he probado a meld del todo kDiff3 me parece más completo o al menos más parecido a WinMerge.
meld parece bastante útil por lo menos a mi me va bien para comparar ficheros de configuración.
Gracias.
Hola, tengo un problema, Meld no me deja activar la casilla de «mostrar espacios en blanco», de las preferencias, lo he probado casi todo y no hay manera, alguien ha tenido este problema o sabe cómo lo puedo solucionar?
Gracias.
Solucionado, en fedora 16 es necesario instalar los paquetes gtksourceview2 y pygtksourceview para poder usar esas opciones de las preferencias.
Algunos otros programas para comparar ficheros a revisar: http://www.sysadmit.com/2016/05/linux-diferencias-entre-dos-archivos.html