Si trabajáis con control de versiones una de las operaciones más habituales es ver las modificaciones de un fichero. Eso en Subversion se hace con svn diff.
Sin embargo yo utilizo un script que creo que me pasó porras para que me muestre en colores las modificaciones.
El script es este:
#!/usr/bin/env ruby
`svn diff #{ARGV.join(' ')}`.each do |line|
puts( if line =~ /^\+(.*)$/
"\e[32m#{$&}\e[0m"
elsif line =~ /^-(.*)$/
"\e[31m#{$&}\e[0m"
else
line
end
)
end
Con darle permisos de ejecución ya podéis tener un svndiff por ejemplo.
No pongo el equivalente en git porque es bastante inmediato.


muy buen truco, me va a ser muy útil, gracias!!
Por algún sitio hay también una versión de svndiff que ignora los deltas con espacios en blanco... ahora no la tengo a mano, pero basta con invocar a svn diff con algo parecido a
svn diff --diff-cmd diff -x -uw
¿Algo en contra de colordiff? :-?
Hombre, yo no sé si es que con git se me instaló algún extra, pero git ya me saca los git diff en colores... :)
@SegFault: Pues no conocía colordiff, así que muchas gracias!
@Ernest Jiménez: bueno, la verdad es que no controlo git, lo tengo como ToDo pendiente!
git-config --global color.diff always
(man git-config tienes todos los colores posibles, para el branch, status, etc...)
O sin global para aplicar ese parámetro de configuración de git solo al repo actual en vez de la configuración de usuario.
Un Saludo
Yo soy un poquito más animal :-P, uso directamente el vim para visualizar la salida del diff, así, a parte de colorear, puedo usar el scroll del vim y en general usarlo como cualquier fichero abierto con el vim.
svn diff | view -
Por formas de hacerlo que no sea, que cada cual elija la que más le guste que es lo bonito de esto :-D.
Un saludo.