sábado, 9 de mayo de 2009

Dando un hogar al código

Como dije en la anterior entrada, es la última vez que pongo el código en el blog.
Esto no quiere decir que no habrá más código...
Como el código se está haciendo largo y complejo, se hace necesario partirlo en varios archivos y darles luego un hogar para que vivan su vida de código.
Seguramente se han preguntado por qué he usado variables y escrito los comentarios en inglés, si estoy haciendo esta actividad en español... La razón es que como voy a compartir mi actividad con otros desarrolladores, y es posible que en algún momento tengan que modificar mi actividad, lo más práctico es tenerla en inglés para que la mayoría de los desarrolladores (que hablan casi todos inglés) puedan hacerlo.
SugarLabs tiene un servicio muy práctico para alojar código, que permite a cualquier persona, de forma muy sencilla alojar su código en los servidores de SugarLabs.
El código de computadores usualmente se aloja no como páginas o texto normal de Internet sino usando un Sistema de control de versiones, que permite a diferentes personas acceder, modificar y revisar el código, pudiendo ver los cambios históricos que se han hecho a cada archivo. SugarLabs usa un sistema de control de versiones llamado GIT, y un portal web que hace de interfaz a GIT llamado gitorious.
Las fuentes alojadas en SugarLabs se encuentran en: http://git.sugarlabs.org/. Aquí podemos consultar la información sobre proyectos, actividades y desarrolladores. Podemos, por ejemplo, buscar proyectos para ver su estado y podemos visitar el portal de actividades desde el que se pueden bajar actividades para Sugar.

Creando nuestro proyecto en SugarLabs
Un repositorio es un lugar donde podemos alojar nuestras fuentes. Crear nuestro repositorio en SugarLabs es sencillo, pero hay que seguir una serie de pasos. Primero debemos crear una cuenta en SugarLabs. Cuando hayamos entrado nuestros datos en el formulario, recibiremos un email de de Gitorious y nuestra cuenta quedará activada cuando sigamos el enlace proporcionado en el email.
Yo ya tengo el mío aquí: Wordhunt.
Para poder garantizar la seguridad y autenticar la identidad de las personas que modifican el código, es necesario crear unas llaves de seguridad SSH. Para esto podemos usar OpenSSH. Hay bastantes tutoriales en Internet que explican la creación de llaves como este.
Una vez hemos creado nuestro par de llaves, debemos agregar la llave pública (la llave privada nunca debe salir de nuestras manos!) yendo a nuestro perfil dentro de SugarLabs y seleccionando "Add SSH key".
Una vez tenemos una llave dentro de SugarLabs, ya podemos crear nuestro proyecto. Para hacerlo, vamos a gitorious y seleccionamos "Project" en la barra superior. Este enlace nos lleva a una lista de proyectos. En esta página hay un enlace para crear nuevo proyecto. Aquí damos nombre a nuestro proyecto y otros datos como las categorías, la descripción y la licencia de nuestro proyecto. Cuando pulsemos el botón inferior "Create project", habremos creado un proyecto en SugarLabs.

Usando GIT
No haré una introducción ni una explicación de GIT aquí, ya que es largo y complejo, pero si explicaré los pasos que se deben seguir para usar git con los repositorios de SugarLabs. Asumo tambiémn que ya está instalado git (que para distribuciones de GNU/Linux, está en los repositorios oficiales).
Lo primero de debemos hacer es crear una carpeta en nuestro equipo donde tendremos nuestro código fuente. Usando una terminal cambio al directorio de mis fuentes y doy:

git init

Esto prepara mi repositorio local (aunque aún esté vacío...)
Luego conecto mi repositorio local con mi nuevo repositorio remoto con esta línea:

git remote add origin gitorious@git.sugarlabs.org:wordhunt/mainline.git
git push origin master

Naturalmente hay que cambiar "wordhunt" por el nombre del proyecto y "gitorious" por nuestro nombre en SugarLabs.
Ya podemos subir las fuentes, así que creamos el archivo wordhunt.py en nuestra carpeta, y para añadirlo al repositorio hacemos:

git add wordhunt.py

Para aprobar nuestros cambios hacemos:

git commit -a

Lo que abrirá un editor para que entremos un comentario acerca de los cambios hechos. Y finalmente para empujar nuestros cambios al servidor hacemos:

git push

Naturalmente usar git es complicado y tiene muchas sutilezas, pero para nuestro sencillo proyecto, lo que debemos hacer cada vez que queramos subir y actualizar nuestras fuentes hacemos un git add para los archivos que aún no han sido agregados, luego un git commit y un git push, que actualizará todos los archivos.
Pueden ver que ya tengo en SugarLabs mi archivo wordhunt.py. Si quieren poder copiar y pegar a un editor sin los números de línea pueden seguir en esta página el enlace que dice "raw blob data", o sea éste


Imágen:
Unhindered by Talent: http://www.flickr.com/photos/nicmcphee/656666358/

No hay comentarios:

Publicar un comentario en la entrada