2 de marzo de 2011

Hiperbolico

Asi como hay calzado para todo tipo de ocaciones, tambien hay editores de texto para cada momento de la vida. Cuando escribo codigo de programacion, mi preferido es Notepad++. Cuando es un documento escolar o del trabajo, uso sin siquiera dudarlo openOffice. Para el blog, el de rigor es TextRoom. Las ventajas de cada uno de estos editores las comente en un post pasado. ¿Y si en la vida fuera igual? ¿Que para cada persona pudieras mostrar o usar la parte de ti que sea mas conveniente?


Estos dias me he sentido con una energia grandiosa, desde el primer momento del dia. Para mi las mañanas son inspiradoras, me llenan de emocion. Aspiro lo mas que puedo el aire matutino, hasta que hago conciencia de que todo lo que respiro va a la sangre, y me detengo. No siempre se respira el aire mas puro. Hoy en el trabajo la luz de la mañana a todo lo que da. Me gusta ver tanta luz. La vida se ve en alta definicion. Hoy fue un buen dia de trabajo. Muy productivo y de mucho aprendizaje. Hasta ese momento, como si hubiera consumido psicotropicos de los que se recetaba ( o receta ) mi buen amigo el greñas. En la tarde la escuela. No me considero una persona antisocial, pero tampoco todo lo contrario. Sin embargo, a veces me sorprendo cuando caigo en cuenta de la cantidad de personas que saludo, de la entrada de la escuela hasta el salon de clases. Es genial. Despues de eso una interesante clase de Sociedad y Etica. Ahh, ese Positivismo. Te enamora con solo mencionar que la religion tenia su lugar en otra epoca, dentro de la historia del intelecto humano.



En la noche, una llamada a Banana. No ha hecho acto de presencia en 2 dias. Preguntan por ella. La energia y alegria que tenia en el momento de decir "¡que pasooooo banana!" le irrumpieron los oidos. Estaba mal. Habia estado durante todo el dia en una sintonia de alegria, felicidad, gusto, incluso euforia, que no supe como dar un switch de estado de animo. Me senti frio. Torpe. Me limite a balbucear torpes palabras, ni siquiera de animo, sino de llamada de rutina. Me hubiera gustado hacer un cambio a "modo hombro" en ese momento. Pero no importa tanto, Banana sabe que la acompaño en su peda, perdon, pena. ¿Y si en la vida escogieramos en todo momento el "modo" adecuado? Hariamos mas feliz a mucha gente. Nos hariamos mas felices a nosotros mismos. Pero asi es la vida. Nadie nos prometio un jardin de rosas.

1 de marzo de 2011

Crear un branch en Subversion

En este post pondré los pasos a seguir para hacer un branch con Subversión. Para poner en contexto Subversion es un sistema de control de versiones. Un sistema  de control de versiones nos ayuda mucho en el desarrollo de software, ya que podemos trabajar a  través del tiempo sobre un archivo (.java, .php,  .cpp, etc), y al ir guardando nuestros cambios, estos se guardan bajo un id de cambio, llamado revisión. Con esto podemos regresar a un punto específico de nuestro archivo,  en caso de que hayamos hecho cambios al código que no funcionaron. Es muy útil cuando se trabaja en equipo, ya que se pueden mezclar los cambios hechos por varias personas al mismo tiempo  en un mismo documento.  

Pero si les interesa este post, es porque ya saben que es Subversion y para que sirve. Entonces vamos al grano. 

Pero este post trata de cómo hacer un brach. Pero,  que es un branch. Basicamente es una copia de tu archivo, carpeta o proyecto actual, el cual llevara un camino de edición diferente, es decir, que se parte de un archivo original, se hace una copia (una “copia ligera” en el caso de subversion) y se trabaja de manera independiente sobre esas dos vertientes de archivos y/o. Por ejemplo, supongamos que  tenemos un proyecto web sin ningún framework implementado y bajo un control de versiones, el cual queremos implementar con Struts. Este proyecto web ya es estable, pero se le sigue dando mantenimiento sobre detalles que van saliendo con el tiempo y uso de los usuarios.  Por lo cual no se puede detener el desarrollo de ese proyecto para implementar Struts. Entonces aquí entran los branch, para hacer una copia del proyecto original, y que ambas copias del proyecto sigan un rumbo diferente. Despues de tener implementado Struts en el branch, hay que mezclar los proyectos, ya que en el original (trunk) ya se han corregido algunos bugs, y aquí en tra el “merge”, que se encarga de mezclar las diferentes ramas de un proyecto. Entonces empecemos:

En un inicio, para subir un proyecto a un repositorio, Subversion nos recomienda que se haga con la siguente estructura de directorios:

 
Donde “calc” es el nombre de nuestro proyecto, “trunk” es donde ira la rama principal de nuestro proyecto, y branches, donde guardaremos una o varias “copias” de la rama principal del proyecto.

Hacer  un branch del proyecto
Yo ya tengo un proyecto en Subversion que va en la revisión 24. Si tenemos configurado el Subversion para que funcione con Apache, podremos ver nuestros proyectos versionados desde el navegador, poniendo en la barra de direcciones http://localhost/repos/, donde “repos” es el nombre que le dimos a nuestro repositorio en el archivo “conf” de Apache, vemos lo siguiente:  

 
Se muestran mis 2 proyectos en mi repositorio. El proyecto para este tutorial es “MetodosNumericos”.  Y dentro de “MetodosNumericos” tengo la estructura de directorios que se recomienda:
 
En la carpeta trunk es donde tengo alojado la mi proyecto. En esta carpeta se coloca por convención el tronco del proyecto, del cual derivara una rama o branch. Mi proyecto de Netbeans se llama “Metodos Numericos”, el cual es una aplicación de escritorio.

Aquí se ve el contenido de mi proyecto.

Para hacer una copia de este proyecto y ponerlo en el branch, vamos a la consola  y ponemos lo siguiente:



Todo en una línea.
Dónde:
-          svn copy es el comando para hacer un brach, que al final de cuentas es una copia.
-          http://localhost/repos/MetodosNumericos/trunk/ es el directorio de nuestro repositorio del cual queremos hacer un branch.
-          http://localhost/repos/MetodosNumericos/branches/MetodosNumericos-branch es el directorio del repositorio donde queremos colocar nuestro branch
-          -m es un parámetro para indicar un comentario descriptivo de la acción que se realiza,  que es obligatorio cada que se hace algo en Subversion. En este caso “nuevo branch con Subversion”.

Si los parámetros son correctos, veremos el siguiente mensaje:





Ya que para mí repositorio este es mi commit número 25.
Y si navegamos a http://localhost/repos/MetodosNumericos/branches/ confirmaremos que si se creó correctamente nuestro branch.







Despues para empezar a trabajar con ese brach solo hara falta ubicarnos en el directorio donde queremos alojar nuestro proyecto y dar “checkout” con la siguiente sentencia:








Y se descargara el proyecto del control de versiones:
Y al usar el comando dir, nos damos cuenta de que ya hay una carpeta “MetodosNumericos-branch”, con la cual podemos empezar a trabajar, y posteriormente dar commit.


Hay que recordar que al dar commint  de un branch dado, los cambios van a dar a el 
directorio de nuestro repositorio donde tenemos el branch. No a el trunk del proyecto. FIN