domingo, 15 de marzo de 2009

Aprendiendo git-svn en 5 minutos

Este finde estuve viendo las posibilidades que tiene git-svn, nunca use git pero me llamo mucho la atención el manejo que tiene de múltiples repositorios, cuya primera utilidad que le vi es poder trabajar "offline", es decir, sin acceso al repositorio central, y mantener la granularidad de los commits ya que se puede commitear al repositorio "local" cuantas veces se quiera hasta que en un momento se mandan todos los commits en un "push". En el caso de git-svn, se pueden visualizar y analizar en los logs del servidor SVN cada uno de esos commits como si hubiese mandando cada uno de ellos de manera "normal". git-svn también puede ser de agrado para los fanáticos de git cuando se vean forzados a trabajar con un repo svn y seguramente tiene un sin-fin de utilidades mas.

Actualizacion: Usuarios de svn pueden aprender git de una manera muy facil en Git - Svn Crash Course


Lo primero y principal para utilizar esta herramienta es instalarla, yo que uso fedora, me basto con:


yum install git-svn


Seguramente, para los usuarios de debian y afines sera suficiente (corrijanme si me equivoco):


apt-get install git-svn


Posteriormente, se aprende como utilizar la herramienta para clonar un repositorio SVN para los usuarios de git, o "checkautear" usando git, para los usuarios de svn:


git-svn clone $URL


Donde $URL es la url completa del servidor svn como "file:///usr/srv/svn/proyecto" o "http:///www.websvn.com/svn/proyecto", lo que hace el comando, es crear una copia local del repositorio SVN, al estilo de git, esto equivale al checkout de svn y por lo tanto solo debe hacerse la primera vez, obviamente es necesario tener acceso al repositorio para poder hacer esto

A partir de haber clonado el repositorio, ya se puede trabajar con el repositorio local, para los que sean usuarios de git es simple: es lo mismo que en git (guarda al final que no se pushean los cambios de la misma manera), y para los que no conocen el maravilloso mundo de git, también es sencillo, simplemente hay que ejecutar el siguiente comando con cada commit:


git commit archivo -m 'mensaje'


El comando es igualito al de svn, pero tengan presente de que este comando "commitea" solo al repositorio local, el que se clono al principio, asi mismo NO requiere acceso al repositorio ni ninguna conexión con el, pueden hacer este commit todas las veces que hagan faltan sin necesidad de contactar al repositorio.

Cuando logran conexión con el repositorio o cuando lo crean conveniente, llega la hora de hacer el "push" (mandar todos los commits que se hicieron local al repositorio central), el comando el siguiente:


git-svn dcommit


Cuando ejecuten el comando, verán como git-svn manda cada commit que se efecto localmente desde la que se clono el repo o se hizo el ultimo dcommit, y lo mas importante, lo que da todo el sentido a esto: a cada commit que efectuaste con "git commit", le corresponde UN commit de svn que puede analizarse y verse en los logs del servidor svn por cualquier otro usuario y con las herramientas svn clásicas.

Bueno, esto fue git-svn para Fedora 32 y espero que les haya gustado. Chau!!!

miércoles, 11 de marzo de 2009

Try ruby (in the NilClass Blog)

Cableando algunos iframe por ahi logre incorporar el interprete de ruby que anuncie en el post anterior directamente inscrustado en ell blog, para ahorrarles ir a la otra pagina ;), prueben el ruby!!!

Try ruby! (in your browser)

Actualizacion: la nueva direccion de tryruby es http://tryruby.org/

Buscando algun applet o algo asi para acercarles el ruby en este blog para que puedan palpar la magia de ruby sin nececidad de que se instalen nada, me encontre con http://tryruby.org/, una pagina muy curiosa que te ofrece un tutorial de ruby con interprete incluido en la pagina!, es decir, podes aprender ruby como Yukihiro manda sin necesidad de bajarte ni instalar nada. En lo proximo.

sábado, 7 de marzo de 2009

FreeMind, la exprimidora de jugo mental


El Jueves que pasado, tratando de hacer algo bueno para el rsif, no se me ocurria que cosa buena programar, ni ninguna parte del soft que diseñar, ni siquiera ideas que documentar. Ocasion ideal para utilizar la aplicacion que les voy a comentar: se trata del Freemind. El freemind es un programa que te permite hacer brainstorming, es decir, volcar a algun lugar las ideas flotando en la intangibilidad de la conciencia antes de que migren a olvidolandia, tambien permite multiplicar facilmente las ideas de varios participantes en un grupo de trabajo. Para poder hacer eso, te permite crear "mapas" que son arboles (como el que se ve en la imagen) o una "mariposa" lleno de ideas que descargas directo de tu atormetado cerebro (o varios cerebros si es un grupo) por intermedio del teclado y mouse; los nodos del arbol que podes ir armando, contienen simplemente cualquier texto que se quiera poner, a los que se le pueden añadir cualquier cantidad de iconos. Al final, se obtendra como resultado un map "mariposa" cuyas alas estan hechas de las ideas que se crearon/escribieron y cuya utilidad es obvia.

Sitio oficial de freemind: http://freemind.sourceforge.net

jueves, 5 de marzo de 2009

El pentaminx es una cosa de locos

Es un rubik pero en version dodecaedro diabolico (con pentagrama en cada cara), por si el V-cube 6 del post anterior te parecia para bebes, podes disfrutar del reto que ofrece el Pentaminx, el cual consta de 12 hyper-enfermizas caras dividas en aproximadamente 100 partes de las cuales 20 de ellas son secciones de las puntas de la estrella central y una es un pentagono interior. El mounstruo esta hecho de un total de 975 piezas, y se dice que el record mundial de resolucion mas rapida fue de 75 horas


miércoles, 4 de marzo de 2009

De finales a RSIF

Complete la agonizante fase de examenes, sin entrar en detalles como me fue, solo voy a decir que lo unico que me interesa es volver al proyecto de rsif, la vuelta a rsif va a ser con un nuevo planteo el cual van a poder conocer leyendo el blog de rsif e implicara cambios muy importantes acerca de la metodologia de desarrollo apuntando a mejorar el uso, la utilidad, la flexibilidad y lograr objetivos practicos con el framework.

El proyecto hara ignicion en un mega-post tras algunos dias de meditacion extrema, ruby testing y filosofia ruby