La gaceta de la cabeza

CVS desde git, y como mantenerlos sincronizados

July 24, 2008 git drupal

Llevo algún rato intentando rastrear de manera eficaz algunos módulos de drupal que están en desarrollo: spaces y context.

Lamentablemente, en drupal todavía usan CVS para administrar el código. El código que usan para administrar los projectos en drupal.org (releases, registro de bugs, descargas, etc) está basado en CVS, y aunque poco a poco avanzan para hacerlo más independiente de CVS y poder utilizar subversion o cualquier otra cosa, pues es algo que va a tomar todavía algo de tiempo.

Así que la solución que más me agrada es seguir el avance de estos repositorios utilizando git ;-). Este blog te dice cómo hacerlo en inglés. Los pasos son simples. El comando de git-cvsimport actúa en la carpeta en la que estás ubicado a menos que utilices la opción de -C para decirle a qué carpeta quieres importar, así que crea una carpeta para tu repositorio antes de empezar.

$ mkdir spaces $ cd spaces $ git-cvsimport -d:pserver:anonymous@cvs.drupal.org:/cvs/drupal-contrib -k -v -r drupal-contrib contributions/modules/spaces

  • La opción de -d indica donde esta el repositorio de CVS
  • la opción de -k es para evitar cambiar los keywords de CVS y es opcional aunque recomendada (al menos si ves el manpage de git-cvsimport)
  • -v para que te imprima lo que está haciendo (si no, funcionará como cualquier comando de UNIX que no imprime nada a menos que haya un error)
  • la opción de -r es para que utilice un nombre en tu repositorio de git diferente a origin para este repositorio remoto, puedes decidir no utilizarla
  • y finalmente le tienes que decir qué módulo de CVS quieres traerte

Para mantener actualizado este repositorio de git no hay más que correr este mismo comando en la misma carpeta y lixto!


Joaquín Bravo Contreras

Joaquín Bravo Contreras es un desarrollador mexicano. Juega futbol cada que puede. Le gusta andar en bici y leer (cuando sus hijos lo dejan). Todavía cree en la buena voluntad de las personas.