¿Cómo creo una rama en SVN?

votos
570

¿Cómo creo una rama en SVN?

Publicado el 05/08/2008 a las 10:25
fuente por usuario
En otros idiomas...                            


9 respuestas

votos
569

Subversion hace que sea fácil (algunos piensan demasiado fácil) crear una nueva rama utilizando el comando svn copy.

$ svn copy svn+ssh://host.example.com/repos/project/trunk \
           svn+ssh://host.example.com/repos/project/branches/NAME_OF_BRANCH \
      -m "Creating a branch of project"
Respondida el 05/08/2008 a las 10:25
fuente por usuario

votos
315

La ramificación en Subversion se ve facilitada por una instalación de copia muy, muy ligera y eficiente.

La ramificación y el etiquetado son efectivamente lo mismo. Simplemente copie una carpeta completa en el repositorio a otro lugar en el repositorio usando el svn copycomando.

Básicamente, esto significa que es por convención lo que significa copiar una carpeta, ya sea una copia de seguridad, etiqueta, rama o whater. Dependiendo de cómo quiera pensar en las cosas (normalmente dependiendo de la herramienta SCM que haya utilizado en el pasado), debe configurar una estructura de carpetas dentro de su repositorio para respaldar su estilo.

Los estilos comunes son tener un montón de carpetas en la parte superior de su repositorio llamada tags, branches, trunk, etc - que le permite copiar su totalidad trunk(o subconjuntos) en los tagsy / o branchescarpetas. Si tiene más de un proyecto, es posible que desee replicar este tipo de estructura en cada proyecto:

Puede tomar un tiempo acostumbrarse al concepto, pero funciona, solo asegúrese de que usted (y su equipo) tengan claro las convenciones que va a utilizar. También es una buena idea tener una buena convención de nomenclatura, algo que le explique por qué se realizó la sucursal / etiqueta y si aún es apropiada; considere formas de archivar ramas obsoletas.

Respondida el 05/08/2008 a las 14:40
fuente por usuario

votos
25

Si eres de recompra está disponible a través de https, puede utilizar este comando para la rama ...

svn copy https://host.example.com/repos/project/trunk \
       https://host.example.com/repos/project/branches/branch-name \
  -m "Creating a branch of project"
Respondida el 10/02/2016 a las 17:36
fuente por usuario

votos
24
svn cp /trunk/ /branch/NEW_Branch

Si usted tiene algunos cambios locales en el tronco a continuación, utilizar Rsyncpara sincronizar los cambios

rsync -r -v -p --exclude ".svn" /trunk/ /branch/NEW_Branch
Respondida el 03/09/2013 a las 10:14
fuente por usuario

votos
14

Normalmente lo copiarías a svn + ssh: //host.example.com/repos/project/branches/mybranch para que puedas mantener varias ramas en el repositorio, pero tu sintaxis es válida.

Aquí hay algunos consejos sobre cómo configurar el diseño de su repositorio .

Respondida el 05/08/2008 a las 13:40
fuente por usuario

votos
12

Supongamos que desea crear una rama de un nombre de tronco (como "prueba") a continuación, utilizar:

svn cp -m "CREATE BRANCH TEST" $svn_url/trunk $svn_url/branches/TEST
Respondida el 23/07/2013 a las 10:51
fuente por usuario

votos
11

Si incluso planea fusionar su sucursal, le sugiero que mire esto:

Svnmerge.py

Escuché que Subversion 1.5 construye más del seguimiento de fusión, no tengo experiencia con eso. Mi proyecto está en 1.4.x y svnmerge.py es un salvavidas!

Respondida el 05/08/2008 a las 13:46
fuente por usuario

votos
10

Un consejo importante para los nuevos usuarios de SVN; esto puede ayudar un poco con la obtención de las direcciones URL correctas rápidamente.

Ejecutar svn infopara mostrar información útil sobre la actual rama desprotegido.

La URL debe (si se ejecuta svn en la carpeta raíz) le dará la URL que necesita para copiar.

También para cambiar a la rama recién creada, utilice el svn switchcomando:

svn switch http://my.repo.url/myrepo/branches/newBranchName
Respondida el 28/03/2014 a las 12:30
fuente por usuario

votos
5
  • Crear una nueva carpeta fuera de su proyecto actual. Se le puede dar cualquier nombre. (Ejemplo: Usted tiene una salida para un proyecto llamado "personalización" y tiene muchos proyectos, como "Project2" "Project1", .... y que desea crear una rama de "Project1" Así que primero abrir el ".. personalización", haga clic derecho y crear una nueva carpeta y darle un nombre, 'Project1Branch').
  • Haga clic derecho sobre "Myproject1" .... TortoiseSVN -> Rama / Etiqueta.
  • Elija copia de trabajo.
  • Abre el navegador .... Justo a la derecha de forma paralela en "To URL".
  • Seleccione la personalización ..... a continuación, haga clic derecho en Agregar carpeta. y pasar por la carpeta que ha creado. Aquí se trata de "Project1Branch". Ahora clik en el botón Aceptar para agregar.
  • Tome la caja de este nuevo Banch.
  • Una vez más ir a su proyecto que se ramifican desea crear. Haga clic derecho TorotoiseSVN -> rama / etiqueta. A continuación, seleccione la copia de trabajo. Y se puede dar la URL como su nombre de la sucursal. como {su dirección IP / SVN / AAAA / Personalización / Project1Branch}. Y se puede establecer el nombre en la URL por lo que creará la carpeta sólo con este nombre. Como {Su dirección IP / SVN / AAAA / Personalización / Project1Branch / MyProject1Branch}.
  • Pulse el botón OK. Ahora se puede ver en los registros ... será almacenada la copia de trabajo en su rama.
  • Ahora puedes llevar a cabo una verificación ... y dejar que disfrute de su trabajo. :)
Respondida el 05/02/2014 a las 11:24
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more