Archive for the Ubuntu Category

La gestión de la configuración es uno de los temas más importantes dentro del mundo del desarrollo de software. Por el año 1970 se comenzaron a usar los VCS (Version Control System) que mejoraron la ayuda a desarrolladores permitiendo tener un control sobre diferentes versiones del código en el que trabajaban. Por aquella época se usaban bastos mainframes para realizar esa tarea de forma CENTRALIZADA.

Años más tarde se lanzó CVS (Concurrent Version System) desarrollado por GNU que dió paso a Subversion (SVN) uno de los VCS más usados hoy en día.

Pero una nueva corriente de DVCS (Distributed Version Control System) está pegando con mucha fuerza desde el 2004. Hoy tenemos una oferta muy amplia de DVCS: Monotone, Darcs, Bazaar, Mercurial y GIT desarrollado por Linus Torvalds y que sin duda es mi preferido.

De GIT destacaría su rápided y facilidad a la hora de trabajar con Branches y solucionar problemas. El concepto de Branch difiere del de SVN. En SVN erán ramas estables y finales (esas que no se deben tocar :P ) mientras que GIT las trata como puntos de inflexión en las que se separa de la rama principal (master branch). Poniendo un ejemplo: Supongamos un escenario en el que estamos desarrollando una aplicación para crear una ToDo-LiST y queremos desarrollar dos nuevas funcionalidades independientes (FA y FB) y tenemos dos desarrolladores (D1 y D2).

D1 se crea una branch nueva llamada FA y comienza a trabajar en ella a su bola.

D2 continua su desarrollo en la rama principal.

Cuando D1 acabe puede empujarle (push) los cambios a la principal y fusionar todo de nuevo (merge).

Si alguien difiere de esto por favor que me corriga ;)

INSTALACIÓN EN UBUNTU

sudo aptitude install git gitk

CREACIÓN DE CERO DE UN REPO

cd ~/foo/bar

git init

git add .

CLONACIÓN DE UN REPO EXISTENTE

git clone URI

STATUS Y DIFFERENCIAS

git status

git diff

MANEJO DE BRANCHES

git branch foo #Crea la rama foo

git checkout foo #Cambia a la rama foo

PUBLICACIÓN Y ACTUALIZACIÓN

git commit -a -m “Mensaje” #Con -a no hace falta el git add

git fetch #Actualiza

ERRORES

git fsck #Comprueba si hay errores y limpia

Para añadir patrones o ficheros a la zona ignore solo hay que crear un fichero llamado .gitingore en el que podremos introducir los ficheros que no deseamos incluir en el repositorio.

./gitignore

*.log

db/schema.rb

*.session

Puede que halla metido la pata en algún punto, pero espero que os sirva de ayuda, para empezar. Para los maqueros la instalación se puede hacer con los Ports:

sudo port install git-core

Me gustaría que comentaseis vuestras experiencia con GIT u otro DVCS.

Ya está publicada la primera beta de Ubuntu 8.04 HardyHeron. La tenéis disponible en este enlace:

http://www.ubuntu.com/testing/hardy/beta

Bajando y probando ;)

Desde hace un año los sistemas de virtualización están empezando a entrar con mucha fuerza en los PC domésticos y sobre todo en de los usuarios con SO “non MS”. En el mudo de la empresa ya es muy común desde hace algunos años tener un servidor de virtualización en el que separemos las maquinas para no comprometer servicios y todas estas historias empresariales, donde creabamos una maquina para el servidor web, otra para el Oracle… etc.

VMWare es uno de los sistemas que más tiempo lleva en el ajo, y la verdad es que hasta hace un año la cosa no hilaba fino, fino, pero en mi caso llevo un tiempo con el instalado en mi Ubuntu con un Windows XP SP2 con esos programillas que echo de menos. Como es un viejo conocido para todos VMWare me voy a centrar mas en Virutal Box 1.5, nueva versión que me llega desde Kriptopolis (gran site, si señor).

Virtual Box (VB a partir de ahora, no me lo confundáis con cosas de demonio como Visual Basic xD) , se presenta como una alternativa gratuita a VMWare y Open Source, (posee también un versión pre compilada para las distros más importantes) con las caracteristicas que todos deseamos para la virtualización:

  • Soporte USB (con alguna triquiñuela según leí en Kriptopolis, yo aún no lo he probado)
  • Compartición de carpetas
  • Nat
  • Buen rendimiento
  • Soporte tipo VMWare Tools
  • Asistente para configuración

Ahora me toca porbarlo y emitir un veredicto contra VMWare, eso sera el y (II).

Un saludo a todos.