Crear branch (ramas) en Subversion (SVN) com Eclipse


En uno de los proyectos en los que colaboro me hacía falta crear un branch de subversion utilizando mi entorno de desarrollo favorito (Eclipse); como me encontraba muy perdido sobre el funcionamiento de la opción Team que éste incluye (no es tan intuitiva como debería) y la ayuda que he encontrado en Internet no me ha servido de mucho he optado por crear este «guía burros» for dummies.

Espero que aquellos menos «techies» que me seguís habitualmente no me reprochéis que, de vez en cuando, meta algún artículo algo más técnico enfocado al desarrollo de aplicaciones, el tema es que la próxima vez que tenga que volver a hacer uso de esto pueda encontrarlo fácilmente al tiempo que me gustaría ayudar a aquellos que hayan podido o puedan encontrarse en la misma situación.

Para crear una ramificación deberemos:

  1. Seleccionamos Team > Branch/Tag sobre la carpeta del proyecto
  2. Pulsamos el botón Browse que hay junto al apdo. To URL y seleccionamos el directorio Branches del servidor
  3. Completamos el apdo. To URL con el nombre deseado para el nuevo branch (en el ejemplo anterior he añadido el /prueba_borrame)
  4. Es interesante (no obligatorio) pulsar el botón Show Log que hay junto al apdo. Specific Revision in the repository y anotar el número de la última versión existente del trunk (para utilizarlo posteriormente en el apdo. Edit the branch/tag comment) aunque con indicar HEAD revision in the repository es suficiente
  5. Para evitar trabajo posterior podemos dejar marcada la opción Switch working copy to new branch/tag
  6. Con pulsar Ok podemos dar por finalizado el proceso.

15 comentarios en “Crear branch (ramas) en Subversion (SVN) com Eclipse

  1. Acabo de crear una carpeta de repositorio en el svn y al hacer un «import into Repository» ademas de las 3 carpetas tengo la carpeta del proyecto. Eso debo copiarlo al trunk? Gracias

    Me gusta

  2. @Gustavo no entiendo el problema con las ¿tres carpetas? (¿son de tu proyecto en concreto o te refieres a las carpetas branches, trunk y tags?)

    Igualmente la opción import into Repository no se encuentra entre las de Eclipse, ¿usas algún programa distinto?

    Un saludo compañero

    Me gusta

  3. Hola.

    Muchas gracias.

    El caso es que he realizado un tag del proyecto y se ha de tocar codigo tanto del proyecto como del tag.

    ¿Como hago para que la gente que tenga que tocar código del tag, apunte a dicho tag?

    ¿Crear un tag es similar a crear un branch del proyecto?

    Mil gracias, por cierto el artículo me ha resultado muy interesante, justo lo que necesitaba.

    Salu2!

    Me gusta

    1. Tags y Branches son prácticamente con diferencias «semánticas»

      Un tag viene a ser como una «congelación» del estado de determinado proyecto.

      Un ejemplo sería al lanzar la versión 1.0.3 de nuestro proyecto: creamos un tag que deje marcado dicho hito.

      El apuntar al tag es similar que a un Branch o al Trunk: no tienen mas que hacer un check-out del mismo.

      Salu2

      Me gusta

  4. Que tal buenas tardes, nadamás como comentario…. Crear branches y tags para proyectos en eclipse es muy sencillo, tu tuto está muy bien explicado…. lo único que te faltó en el inicio, antes de todo, es especificar que deben de estar en la perspectiva de SVN Repository Exploring para poder hacer ésto… (Menú Window/Open Perspective/Other…SVN Repository Exploring) =D y ya, todo lo demás muy bien 😉

    Me gusta

  5. Por cierto, aclarando lo del trunk, branches y tags…. se supone q TRUNK es el directorio principal de tu proyecto, en donde se guarda todo con lo que trabajan, un tag, sería como hacer un respaldo por si no se está seguro de un cambio y un branch es como una copia alterna en la q se puede trabajar sobre varias cosas q afectan al proyecto en caso de q colapse 😛 y ya fin 😛

    Me gusta

  6. Buenas,

    si sacamos un branch en un momento determinado para comenzar en éste un desarrollo independiente, pero en un momento futuro en el que ambas líneas (trunk y branch) han ido evolucionando por separado, queremos que el branch inlcuya los cambios del trunk, ¿cuál sería el procedimiento? pues sería un merge pero con el branch (y no el trunk) como destino.

    Tal vez no sea este el sentido de crear branches y lo correcto fuera crear otro repositorio.

    Muchas gracias.

    Saludos.

    Me gusta

    1. De echo el branch no es para desarrollar por separado, pq si fuera eso, como dices Fran, pues se crea otro repo y ya… el branch es por si quieres trabajar por secciones, si en un proyecto trabajan varias personas, no se van a esperar a q uno de ellos acabe para seguir con el resto, lo ideal es dividir por secciones el proyecto aclarando cuáles deben ser las resultantes de éste, para que cuando se tengan versiones estables de cada sección se pueda hacer el merge y que si de seguro habian versiones inestables o errores humanos, así no afectan al proyecto entero real que está en el trunk 😉 no es desarrollo por separado, sólo seccionado 🙂 por experiencia propia… siempre hay errores… y más humanos que de cualquier otra cosa xD y no lo digo por mi, pq a mi no me gusta desarrollar, yo solo creo los proyectos, pongo la plataforma y a veces coordino, pero los desarrolladores se tienen q equivocar, si no, como probarían xD 😀 error-prueba 😛

      Me gusta

Deja un comentario

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.