Subversion
Contenido |
[editar] Desarrollo
Antes que nada, recuerda que para poder descargarte BlogMail debes tener una versión actualizada de subversion.
[editar] Instalar subversion
- En Debian, tan sencillo como:
apt-get install subversion
[editar] BlogMail soft.
Para descargarte una copia con los últimos cambios del repositorio:
svn checkout http://svn.blogmail.cc/blogmail/trunk .
O si se ha caído el servidor de nombres:
svn checkout http://217.149.150.61/blogmail/trunk .
Esto genera en el directorio donde te encuentres los archivos del repositorio.
Cuando quieras sincronizar los cambios de tu copia con el servidor, y estando dentro del directorio blogmail creado:
svn --username blogmail commit
Para subir la versión necesitas un usuario y una contraseña.
Para actualizar tu copia de trabajo entra en el directorio y ejecuta este comando:
svn update
Eso actualizará tu copia a la última. Si has hecho un cambio y quieres mandarlo, este comando te mostrará qué ficheros has cambiado:
svn status
Y esto sacará una descripción línea a línea de todos los cambios en un formato sencillo de comprender:
svn diff
Puedes ponerlo en un archivo redireccionándolo:
svn diff > my-patch.txt
Si te da problemas o te arrepientes de haber hecho un cambio antes de subirlo:
svn revert [nombre del archivo]
Si quieres volver a una revisión anterior:
svn update -r[número de revisión]
Para bajar una revisión antigua por primera vez:
svn checkout -r [número de revisión] http://svn.blogmail.cc/blogmail/trunk .
Si ya no te acuerdas de en qué revisión estás:
svn info
Apunta aquí ¿Qué es?
svn merge
Apunta aquí ¿Qué es?
svn resolved
svn copy en:Working_with_Subversion
Crear una rama:
svn copy http://svn.blogmail.cc/blogmail/trunk http://svn.blogmail.cc/blogmail/branches/X.XbetaXX -m "Creando la rama X.XbetaXX"
Más info, en castellano, en este manual
[editar] MailWoman
[editar] Plantillas de BlogMail
Se encuentran en http://svn.blogmail.cc/smarty-themes/
[editar] WordPress
WordPress ahora utiliza Subversion, lo hace gracias a Tigris
Repositorio WordPress:
svn checkout http://svn.automattic.com/wordpress/trunk .
Repositorio WordPress MultiUser (no completo):
svn checkout http://svn.automattic.com/wordpress-smarty/trunk .
http://wordpress.org/download/svn/
[editar] Administración
[editar] Instalación de un servidor de subversion
La instalación del svn se hace utilizando el módulo web dav /deltav de apache 2.0 y autenticando con ldap.
El método de acreditación es una autentificación HTTP básica, por lo que el password corre en claro.
Falta: esto podría ser un inconveniente, por lo que seguramente cambie a https:// en cuanto tenga un ratillo
programas necesarios:
apt-get install subversion libapache2-svn
Directorio donde se almacenaran los repositorios
mkdir -p /var/lib/svn/
Cambiamos el grupo y usuario para poder acceder con la extension dav-svn de apache
chown -R www-data:www-data /var/lib/svn
Configurar apache2 editando /etc/apache2/sites-availible/svn.ext
<VirtualHost 217.149.150.61>
SecureName svn.blogmail.cc
<Location /svn>
DAV svn
SVNParentPath /var/lib/svn/blogmail
AuthType Basic
AuthName "Subversion Repository"
#autenticacion con ldap
AuthLDAPURL ldap://blogmail.cc/dc=blogmail,dc=cc?uid?sub
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
</Location>
</VirtualHost>
Crear el repositorio de un proyecto(logeado como www-data)
svnadmin create /var/lib/svn/blogmail
Activar el Virtualhost
a2ensite svn.ext
Activar los modulos de apache
a2enmod auth_ldap
Artículo sobre cómo instalar un servidor de subversion en 28 segundos
otro para instalar subversion con dav-svn
[editar] Administrando subversion
- Crear copias de seguridad
svnadmin dump /var/lib/svn/blogmail | gzip -9 > /var/backups/subversion_blogmailrevision.gz
- Restaurar copias de seguridad
gunzip -c subversion_blogmailrevision.gz | svnadmin load /var/lib/svn/blogmail
- Arreglar problemas en la base de datos
svnadmin recover /var/lib/svn/blogmail
Atención: si sigue sin funcionar, cambiar los permisos a www-data en /var/lib/svn/blogmail/db/__db.001 y siguientes:
chown www-data:www-data /var/lib/svn/blogmail/db/__db.*