Lo que he aprendido: git y Matlab

Acabo de descubrir de una manera tontísima que Matlab se da cuenta de que el contenido de una carpeta está bajo control de versiones. Abrí una carpeta con mi código octaviano en Matlab y vi que junto a cada archivo salían chirimbolillos de colores:

git

El punto verde significa que estamos vigilando el archivo y no ha sufrido modificaciones (tracked and unmodified en la jerga) y el cuadradito azul que lo tenemos controlado pero que ha cambiado (tracked and modified). También nos puede aparecer un punto blanco que quiere decir que no tenemos el archivo bajo control (untracked).

Estos simbolitos los veremos a pesar de que no tengamos git instalado, si lo tenemos instalado podremos además añadir y commitear desde la propia interfaz de Matlab. Si hacemos click derecho en algún punto de la ventanita de los archivos veremos que tenemos una opción de Source control desde la que tenemos acceso a las acciones típicas que solemos hacer desde la terminal en versión visual.

matlab

Una cosa importante es decirle a git que archivos de Matlab como los fig y los mat son binarios para que no nos hurgue en ellos y nos los estropee. Para eso tenemos el archivo .gitattibutes, que situamos (generalmente) en la raíz del proyecto y que nos sirve para decirle a git como manejar sus asuntos. Matlab recomienda nuestro .gitattributes tenga esta pinta:

# Marcar como binario
*.mat -crlf -diff -merge
*.fig -crlf -diff -merge
*.p -crlf -diff -merge

Esto le indica a git que no haga ni diff ni merge en esos tipos de archivo y que no toque el final de línea. También podrían marcarse directamente con binary que es equivalente a -text -diff -merge, donde -text es a su vez equivalente a -crlf, es decir, a no tocar el final de línea.

En resumen, no creo que vaya a hacer commits desde la interfaz de Matlab, pero me parece útil ver el estado de cada archivo con un simbolito. También lo veo interesante para acercar a los ingenieros de la piedra y el palo (como yo) al mágico mundo del control de versiones. Conozco a muchísimos que programan en Matlab cosas grandes y serias y a casi ninguno que tenga su código controlado.

Referencias

Set Up Git Source Control en la página de MathWorks

Git for Windows

Git Attributes

Anuncios

2 pensamientos en “Lo que he aprendido: git y Matlab

  1. Pingback: Compilación: Matlab | Onda Hostil

  2. Pingback: En que ando: octubre | Onda Hostil

¡Opina sin miedo! (Puedes usar Markdown)

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s