Pregunta

¿Cómo creo una sucursal en SVN?

¿Fue útil?

Solución

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

La bifurcación y el etiquetado son efectivamente lo mismo.Simplemente copie una carpeta completa en el repositorio a otro lugar del repositorio usando el svn copy dominio.

Básicamente, esto significa que es por convención lo que significa copiar una carpeta, ya sea una copia de seguridad, una etiqueta, una rama o lo que sea.Dependiendo de cómo quiera pensar las cosas (normalmente dependiendo de qué herramienta SCM haya utilizado en el pasado), necesitará 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 llamadas tags, branches, trunk, etc.- que te permite copiar todo tu 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 llevar un tiempo acostumbrarse al concepto, pero funciona; solo asegúrese de que usted (y su equipo) tengan claras las convenciones que van a utilizar.También es una buena idea tener una buena convención de nomenclatura, algo que le indique por qué se creó la rama/etiqueta y si todavía es apropiada; considere formas de archivar ramas que estén obsoletas.

Otros consejos

Crea una nueva rama usando el svn copy comando de la siguiente manera:

$ 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"

Si su repositorio 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"
svn cp /trunk/ /branch/NEW_Branch

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

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

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

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

Supongamos que desea crear una rama a partir de un nombre del tronco (como "prueba") y luego usar:

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

Si incluso planeas fusionar tu sucursal, te sugiero que mires esto:

Svnmerge.py

Escuché que Subversion 1.5 incorpora más seguimiento de fusiones, no tengo experiencia con eso.¡Mi proyecto está en 1.4.xy svnmerge.py es un salvavidas!

El mejor consejo para nuevos usuarios de SVN;Esto puede ayudar un poco a obtener rápidamente las URL correctas.

Correr svn info para mostrar información útil sobre la rama actual registrada.

La URL debería (si ejecuta svn en la carpeta raíz) proporcionarle la URL desde la que necesita copiar.

Además, para cambiar a la rama recién creada, utilice el svn switch dominio:

svn switch http://my.repo.url/myrepo/branches/newBranchName
  • Cree una nueva carpeta fuera de su proyecto actual.Puedes darle cualquier nombre.(Ejemplo:Tienes una caja para un proyecto llamado "Personalización".Y tiene muchos proyectos, como "Proyecto1", "Proyecto2"... Y desea crear una rama de "Proyecto1".Así que primero abra "Personalización", haga clic derecho y cree una nueva carpeta y asígnele un nombre, "Proyecto1Branch").
  • Haga clic derecho en "Miproyecto1"....TortoiseSVN -> Rama/Etiqueta.
  • Elija una copia de trabajo.
  • Abra el navegador... Justo a la derecha del paralelo en "A URL".
  • Seleccione personalización... haga clic derecho y luego Agregar carpeta.y recorra la carpeta que ha creado.Aquí está "Proyecto1Branch".Ahora haga clic en el botón Aceptar para agregar.
  • Echa un vistazo a este nuevo banco.
  • Nuevamente vaya a su proyecto y seleccione la rama que desea crear.Haga clic derecho en TorotoiseSVN -> rama/etiqueta.Luego seleccione la copia de trabajo.Y puede proporcionar la URL como nombre de su sucursal.como {tu dirección IP/svn/AAAA/Customization/Project1Branch}.Y puede configurar el nombre en la URL para que cree la carpeta con este nombre únicamente.Como {Su dirección IP/svn/AAAA/Customization/Project1Branch/MyProject1Branch}.
  • Presione el botón Aceptar.Ahora puede ver los registros en... su copia de trabajo se almacenará en su sucursal.
  • Ahora puedes echar un vistazo... y disfrutar de tu trabajo.:)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top