Pregunta ¿Cómo creo una rama en SVN?


¿Cómo creo una rama en SVN?


578
2017-08-05 09:25


origen


Respuestas:


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 copy mando.

Básicamente, esto significa que es por convención lo que significa copiar una carpeta, ya sea una copia de seguridad, etiqueta, rama o lo que sea. 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 grupo de carpetas en la parte superior de su repositorio llamado tags, branches, trunk, etc. - que le permite copiar su totalidad trunk (o subconjuntos) en el tags y / o branches carpetas. 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.


321
2017-08-05 13:40



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"

573
2017-08-05 09:25



Si su repos está disponible a través de https, puede usar este comando para bifurcar ...

svn copy https://host.example.com/repos/project/trunk \
       https://host.example.com/repos/project/branches/branch-name \
  -m "Creating a branch of project"

27
2018-02-10 20:36



svn cp /trunk/ /branch/NEW_Branch

Si tiene algunos cambios locales en el tronco, use Rsync para sincronizar cambios

rsync -r -v -p --exclude ".svn" /trunk/ /branch/NEW_Branch

24
2017-09-03 09: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.


14
2017-08-05 12:40



Supongamos que desea crear una rama a partir de un nombre de troncal (como "TEST") luego usa:

svn cp -m "CREATE BRANCH TEST" $svn_url/trunk $svn_url/branches/TEST

12
2017-07-23 09:51



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!


11
2017-08-05 12:46