Logo de La Coctelera

Diferencias colorizadas en SVN y GIT

31 May 08

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.

Tags:
6 comentarios

6 comentarios

  1. 31 May 2008 | 08:11 AM # noth dice:

    muy buen truco, me va a ser muy útil, gracias!!

  2. 31 May 2008 | 10:11 AM # Juan Lupión dice:

    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

  3. 31 May 2008 | 11:36 AM # SegFault dice:

    ¿Algo en contra de colordiff? :-?

  4. 31 May 2008 | 05:08 PM # Ernesto Jiménez dice:

    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... :)

  5. 31 May 2008 | 06:15 PM # Fernando Blat dice:

    @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!

  6. 9 Jun 2008 | 02:07 AM # Guillermo dice:

    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

Escriba un comentario: