¿Cómo creo una sucursal?
-
08-06-2019 - |
Pregunta
¿Cómo creo una sucursal en SVN?
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:
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.:)