1. git-svn y cómo recuperarse de una corrupción

    Bueno, siguiendo con mis experimentos en git-svn, tengo que decir que la implementación para windows frecuentemente corrompe los repositorios de svn al hacer el dcommit (enviar los cambios desde git hacia svn uno a uno según fueron hechos en git).

    Afortunadamente estas corrupciones (hasta ahora) han sido sencillas de reparar gracias al comando

     
    
    #svnadmin recover /home/svn/repository/your_repository_name 
    
    

    Recuerden que luego del dcommit fallido, deben hacer un rebase ya que probablemente el dcommit tuvo éxito y fue el rebase el que falló ;)

     
  2.  
  3. A git-svn en windows no le gusta el https

    Normalmente trabajo con svn en la oficina, debido a que es estable, es sencillo de usar, se integra muy bien con otras herramientas y funciona muy bien bajo windows.

    Pero he estado probando git para hacer trabajos locales, experimientos y cosas locas y tener un mini control de versiones local antes de subir todo al trunk en svn. es la raja.

    El único problema que tuve, fue que a git-svn no le gustó que el repositorio estubiera publicado en https. Al hacer el git svn fetch se caia, no bajaba nada y quedaba el repositorio corrupto. una mierda.

    El arreglo: habilitar un servidor svn local apuntando hacia una ruta compartida en donde están los repositorios. (afortunadamente tengo acceso a ese servidor para configurar los accesos y todo eso).

    En resumen:

         #habilitar share en servidor hacia repositorios

    \\servidor\repos\



    #iniciar servidor svn local

    $c/program files/Subversion/bin/svnserve -i \\servidor\repos



    #(en otra shell) iniciar repositorio mixto local

    $cd c/gitrepos

    $mkdir proyecto

    $cd proyecto

    $git svn init -s "svn://localhost/proyecto"

    $git svn fetch



    #iniciar programación!

    $git checkout -b trabajo

    El unico problema que veo, es que no es un proceso automático, y cada vez que quiera interactuar con svn voy a tener que iniciar el servidor local. A menos que configure svnserve como un servicio siempre apuntando a ese directorio, pero eso me parece mucho por ahora.

    Más info (en inglés) sobre svn+git en:

    http://www.jonmaddox.com/2008/03/05/cleanly-migrate-your-subversion-repository-to-a-git-repository/

    http://andy.delcambre.com/2008/03/04/git-svn-workflow.html

    http://blog.shinetech.com/?p=150

    http://notes.jimlindley.com/2008/3/25/git-svn-that-works-for-me