svn

Abr 20 23:15

Trabajar con Git contra un repositorio Subversion (simple)

Aquí se describe cómo importar un repositorio Subversion en una rama Git para trabajar localmente en Git y guardar los cambios en el repositorio Subversion.
# Crear la rama e importar histórico del módulo
git svn clone http://svn.server.org/proyecto/trunk proyecto
 
# Importar el contenido de las ramas
cd proyecto/
 
## Ya está listo para usarse
 
# Hacer un cambio
 
# 1- Corregir los que haga falta
set -i 's,hlo world,Hello world' hello.c # ejemplo tonto
git ci -m "Fixed typo"
 
# 2- Sincronizar la rama con el repositorio remoto de Subversion
git svn rebase # svn update
 
# 3- Subir el cambio al repositorio Subersion (svn ci)
git svn dcommit # svn commit
 
.
Lenguaje: 
bash
Abr 20 13:03

Trabajar con Git contra un repositorio Subversion

Aquí se describe cómo importar un repositorio Subversion en una rama Git para trabajar localmente en Git y guardar los cambios en el repositorio Subversion.
# Crear la rama e importar histórico del módulo
git svn init -s http://svn.server.org/proyecto proyecto
 
## '-s' importará los tags y branches.
## Además usará trunk como rama principal
 
# Importar el contenido de las ramas
cd proyecto
git svn fetch
 
# Optimizar el repositorio (opcional, pero recomendable)
git repack -d
 
## Ya está listo para usarse
 
# Hacer un cambio con ramas
 
# 1- Crear la rama para arreglar el bug 23
git checkout -b ficking-bug23
 
# 2- Corregir los que haga falta
set -i 's,hlo world,Hello world' hello.c # ejemplo tonto
git ci -m "Fixed typo"
 
# 3- V
Lenguaje: 
bash
Mar 16 17:35

Equipo Distros 15/03/10

En esta entrada voy a hacerle un pequeño "spoiler" a mi amigo Juanje Ojeda, que os tiene preparado un curso en este tema y os voy a introducir en uno de los sistemas más usados en la empresa, el Control de Versiones.

En Emergya se viene usando Subversion (AKA el P***/famoso SVN) desde hace un tiempo y todos en mayor o menor medida nos hemos peleado con él, algunos desde la perspectiva del usuario, otros como administración o montaje de algún servidor, pero...¿porqué existen los sistemas de control de versiones? ¿existen más alternativas a parte de Subversion?

Nov 11 11:12

Aplicar propiedades svn a un archivo

Existen una palabras clave que hacen las veces de variables para sistemas de control de versiones como el Subversion. Estas "variable" se pueden usar para que se actualicen automáticamente ciertos valores. Éste es un ejemplo de como aplicar los más típicos a un archivo versionado dentro de un repositorio SVN.
# dentro del checkout de un proyecto
$ svn propset svn:keywords "Rev Date Author" archivo
$ svn ci -m "Añadidas las palabras clave Rev, Date y Author a archivo" archivo
 
# Ahora "archivo" podrá usar dichas "variables"
# Se usarían dentro del archivo de la siguiente forma (por ejemplo):
__date__ = "$Date:  $"
__author__ = "$Author:  $"
__revision__ = "$Rev:  $"
 
# esto sustituiría:
# "$Date:  $"  por "(la fecha del último commit)"
# "$Author:  $" por "(el autor del último commit)"
# "$Rev:  $" por "(la revisión del último commit)"
Lenguaje: 
bash
Oct 12 12:11

Elimina recursivamente los .svn de un directorio

En ocasiones no nos queda mas remedio que eliminar los .svn a mano. Este sencillo código puede ayudar.
#!/usr/bin/python
 
import os
import sys
 
top = sys.argv[1]
 
for root, dirs, files in os.walk(top):
        if '.svn' in dirs:
                os.system('rm -rf '+os.path.join(root,'.svn'))
Lenguaje: 
python