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 😉
¿Alguien sabe o puede recomendarme un servicio de hospedaje para Subversion? Mi mejor opción hasta ahora es Repository Hosting: todo ilimitado, dominio propio, trac, svn y git, y hospedado en Amazon EC2; pero no puedo evitar pensar que sería algo similar a Dreamhost por todo lo que ofrecen a bajo precio 😉
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
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.
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:
Ejecutar svn info en el raíz del repositorio
Si la URL es similar a: https://svn.sourceforge.net/svnroot/PROJECTNAME/trunk entonces
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:
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):
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
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:
No hay forma de cambiar el tamaño.
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.
Los objetos necesitan colores. Si tienes 2 ventanas de Firefox o varias ventanas de Gimp no hay diferencia notable.
No se puede cambiar de posición ni ponerla en vertical. La famosa kiba-dock ya hace esto desde hace mucho.