Como mostrar el número de revisión SVN en un sitio

Estás trabajando en un proyecto (web), usas Subversion para el Control de Versiones y te interesa que en alguna parte del sitio se muestre el número de revisión al que está actualizado. Se asume que el “desarrollo” se hace en una copia aparte y el en sitio web solo se sincronizan los cambios respecto al repositorio (svn up).

La mejor forma de hacer esto es crear un archivo que contenga el número de revisión y que este se actualice cada vez que cambie la copia en el servidor, por ejemplo un script así:

cd /home/user/public_html/
svn up 
rm version.php
svnversion > version.php

Este script se puede llamar incluso desde un hook en post-commit, el único requisito es que version.php no esté en el repositorio para que no de problemas con futuras actualizaciones.

Ahora que version.php ya tiene la revisión en la cual se está trabajando, solo falta incluirla desde el sitio web. Un simple include debería bastar:

<?php include 'version.php'; ?>

Este método debería funcionar mejor que usar svn:keywords ya que este solo se actualizaría cuando el archivo (ej. version.php) se modificado. Y aún mucho mejor que examinar el contenido del directorio .svn o modificar el archivo a mano 😉

Subversion desde la linea de comandos en Windows

Usualmente cuando trabajo con Subversion no necesito más que algunos comandos (commit, update, status, log), por lo que no me gustar abrir un cliente Subversion, si lo puedo hacer desde la consola. Uso un cliente gráfico cuando necesito hacer un diff entre diferentes revisiones o algo más complicado que me de pereza 😉

En Windows para tener Subversion desde la consola uso SilkSVN. Lo que si recomiendo usen una versión anterior (1.5.6) por si usan otro cliente y este no es compatible con Subversion 1.6.x

-Yum- sucks, -make install- rules

Software Update Hoy aprendí que es mejor compilar que confiar en los manejadores de paquetes, en especial en uno tan nefasto como Yum, el gestor de paquetes en RedHat/Centos.

Seguro soy yo el que no entiende que quiere Yum que haga, porque hoy pase buen rato peleando para instalar Subversion y usarlo con Apache en un servidor VPS. O no tengo idea de que -repositorios- son los correctos, porque los por defecto andan perdidos.

Continue reading

Cambios en el acceso SVN de SourceForge

En Diciembre de 2006, Sourceforge agrego un nuevo método de acceso hacia los repositorios SVN de los proyectos hospedados, debido a misteriosos problemas:

( 2006-12-01 06:50:42 – Project Subversion (SVN) Service ) As of 2006-11-31 the Subversion access method has been changed to resolve a number of problems relating to the previous Subversion access method. This new method uses the same data as the old, it just provides a less trouble-prone method of access. All users of the old access method (https://svn.sourceforge.net/svnroot/PROJECTNAME) should switch to the new access method immediately. Instructions for doing so can be found here: https://sourceforge.net/docs/E09#notice . A timetable for deprecating the old access method has not been set yet, but you should update all scripts and other programs to use this new method immediately to ensure future functionality. The old ViewVC URLs are currently being rewritten to ensure they function into the future.

Ahora según informan en el boletín de SourceForge, el viejo método de acceso al SVN será eliminado a partir del 28 de Junio, y por tanto cualquier script o repositorio que lo use dejará de funcionar.

Si has trabajado con algún repositorio SVN en SourceForge desde antes de Diciembre de 2006 es probable que aún uses el viejo método de acceso, será mejor que lo actualices para no llevarte sorpresas. Según está explicado en Sourceforge, todo lo que debe hacer es:

  1. Ejecutar svn info en el raíz del repositorio
  2. Si la URL es similar a:
    https://svn.sourceforge.net/svnroot/PROJECTNAME/trunk entonces
  3. debes ejecutar:
    svn switch --relocate https://svn.sourceforge.net/svnroot/PROJECTNAME/trunk https://PROJECTNAME.svn.sourceforge.net/svnroot/PROJECTNAME/trunk

Etiquetas: , hosting,

Avant Window Navigator

Avant Window Navigator es una barra tipo dock que se instala en la parte baja de la pantalla y te permite intercambiar entre las ventanas que tengas abiertas:

Avant Window Navigator

Es muy similar a la que incluyen los sistemas Mac OS, pero esta es una implementación libre de la misma idea. Para usarla necesitas tener instalado o beryl o compiz para que funcionen las transparencias y demás efectos.

Es bastante personalizable: puedes cambiar los colores o bien usar una imagen de fondo, eliges usar esquinas redondeadas o cuadradas, agregar accesos directos a aplicaciones (siempre aparecen a la izquierda), ver todas la ventanas abiertas o solo las que tengas en el escritorio actual. Lo único que no se puede modificar es el tamaño de los iconos (por ahora).

¿Quieres tenerla en tu escritorio? Hay 2 formas de hacerlo, desde los repositorios (solo Edgy 32-bit):

  1. Agregas:
    /etc/apt/sources.list

    deb http://download.tuxfamily.org/syzygy42 edgy avant-window-navigator
    deb-src http://download.tuxfamily.org/syzygy42 edgy avant-window-navigator
  2. Luego ejecutas:
    wget http://download.tuxfamily.org/syzygy42/8434D43A.gpg
    sudo apt-key add 8434D43A.gpg
    rm 8434D43A.gpg
    sudo apt-get update
  3. Por último instalas avant-window-navigator-svn

O desde los fuentes en el SVN (como yo lo he hecho):

  1. Instalas las dependencias:
    sudo apt-get install build-essential autotools-dev libgnome2-common libgnome2-dev libgnome-desktop-dev libgnome-vfs-dev libgtk2.0-dev libwnck-dev libgconf2-dev libglib2.0-dev libgnomevfs2-0 libgnome-desktop-2 libgnome2-0 libwnck-common python-gtk2 python-gconf subversion
  2. Obtienes ls fuentes del SVN:
    svn checkout http://avant-window-navigator.googlecode.com/svn/trunk/ avant-window-navigator
  3. Compilas y listo:
    cd avant-window-navigator
    ./autogen.sh
    make
    sudo make install

En este punto ya tiene que haber un nuevo elemento en tu menú, lo ejecutas y obtienes algo como esto:

Si quieres que AWN se auto oculte, debes ejecutar gconf-editor e ir a /apps/avant-window/navigator, luego modificas la llave auto_hide a verdadero (cheque puesto).

Aún esta en desarrollo pero funciona bastante bien. Yo solo tuve el problema que aveces minimizas una ventana y luego no regresa ni a patadas… hay que cerrarla y comenzar de nuevo. Igual que a la Dock de Mac OS, a AWN se le puede criticar:

  1. No hay forma de cambiar el tamaño.
  2. Los iconos idénticos lucen idénticos. Si por alguna razón 2 aplicaciones tienen el mismo icono no sabes cual es cual, hasta llevar el mouse encima de una de ellas.
  3. Los objetos necesitan colores. Si tienes 2 ventanas de Firefox o varias ventanas de Gimp no hay diferencia notable.
  4. No se puede cambiar de posición ni ponerla en vertical. La famosa kiba-dock ya hace esto desde hace mucho.

Afortunadamente tienen buenas ideas por hacer, aunque con forme avance AWN habrá que estar pendientes para no llegar a problemas como este (una solución drástica sería usar el plugin AddHelper de Beryl).

Referencia: HOWTO: functional eye-candy with Avant-Window-Navigator and Affinity

Etiquetas: , gnu/linux, ubuntu, , , , ,