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- Volver a la rama principal
git checkout master
 
# 4- Integrar los cambios de la rama ficking-bug23
git merge ficking-bug23
 
# 5- Sincronizar la rama con el repositorio remoto de Subversion
git svn rebase
 
# 6- Subir el cambio al repositorio Subersion (svn ci)
git svn dcommit
 
.
Lenguaje: 
bash

Comentarios

jojeda:

Gracias por los comentarios :-)

Se podría hacer más sencillo sin usar ramas en local para hacer las modificaciones y usar una única rama (master), pero ya que se usa git, lo uso es aprovechar la potencia de usar ramas, ¿no?

En cualquier caso, si no queremos si no queremos usar ramas, con omitir los pasos 1, 3 y 4 ya tenemos.

Saludos :-)

Juanje