lunes 20 de marzo, 2006

[linux/util] Control de Versiones en Vim

El otro día leí un artículo interesante en Sushi Knights sobre el uso de Control de Versiones. El artículo se centra en CVS, un sistema muy popular si uno quiere colaborar con muchos otros autores en un proyecto común.

Mis documentos los escribo con LaTex, utilizando vim-latex (instalación en Debian: apt-get install vim-suite) y Vim, el mejor y más poderoso editor de todos los tiempos :), y la combinación de los dos es (casi) perfecta, porque tengo todo los comandos de Vim y una serie de herramientas para escribir y compilar mis documentos a PDF. Lo que me faltaba para tener un sistema perfecto era el control de versiones que mencionaban los Knights. Y así se hace con Vim:

0.) Instala RCS. Es software libre, y llegar y llevar en cualquier SO. Viene preinstalado en casi cualquier Linux/OSX. (En Debian, trivial como siempre: apt-get install rcs)

1.) Baja rcs-menu.vim(*), un pequeña extensión para vim, y asegurate que esté en el directorio apropiado (en Linux, ~/.vim/plugin).

Eso es todo! El uso es muy simple. Digamos que tengo un documento llamado tesis.tex, y quiero hacer modificaciones y mantener una historia (o log) de los cambios. Si el documento esta abierto en vim, haz (esto se puede hacer como describo abajo o usando el menu llamado ‘RCS’ que se crea si estas usando una version GUI, como gVim):

\init

Vim te pregunta que describas que contiene el archivo:

enter description, terminated with single ‘.’ or end of file: NOTE: This is NOT the log message!
>>

cuando termines, escribe un solo punto y después retorno:

enter description, terminated with single ‘.’ or end of file: NOTE: This is NOT the log message!
>> Esta es mi tesis
>> .

Y listo. En el mismo directorio, se ha creado un nuevo archivo, llamado tesis.tex,v, un archivo en formato RCS que va a contener el texto original más todos los cambios que le haré en el futuro. Ese archivo es solo-lectura. Para poder obtener la ultima versión del archivo y hacer modificaciones, haz (con tesis.tex abierto):

\lock

Esto crea una copia del archivo que se puede modificar. Cuando quieras guardar los cambios (‘commit’, en la jerga de estos programas), simplemente haz:

\ci

y Vim te preguntará por una descripción de los cambios que has hecho. Haciendo \lock puedes seguir trabajando después de un commit.

Y eso es todo!! RCS es muy simple, y no es tan elegante ni tiene tantos pitos y flautas como CVS u otros programas (por ejemplo, no es recomendable si varias personas quieren trabajar con los archivos al mismo tiempo), pero para proyectos personales o si no quieres aprender un sistema más complicado, esto puede ser útil.

(*) Otra alternativa es rcsvers.vim, una extensión que crea una nueva versión cada vez que salvas el documento.

[tags] vim, rcs, revision control, software libre, util [/tags]

~

3 Comentarios »

  1. ¡Vaya vaya!, ignoraba que eras un VIMmers, eso me gustó :), saludos «colega» ;)

    juque — 21 de marzo de 2006 @ 7:07 am
  2. Si pues, tengo mis aces bajo la manga…

    Carlos — 21 de marzo de 2006 @ 9:11 am
  3. compre un notebook por 50 lukas :D y no me corria eclipse ni a palos, por necesidad tuve que hechar mano a vim. Grata sorpresa y con tu tuto, creo que ya no me vuelvo eclipse.

    Es medio viejo el posteo, pero me soluciona la vida vim.

    gracias por no borrar esta entrada.

    mimomellamo — 29 de septiembre de 2010 @ 11:55 pm

Los contenidos de este blog están publicados bajo una licencia Creative Commons Atribución-Compartir-Igual. (c) 2005-2021 El Diablo en los Detalles | Usando WordPress y una versión modificada de Barecity.