tortoise subversion que new informatica create crear branches svn branch svn-checkout

svn - que - Subversion: ¿Puedo pagar, modificar y luego convertirlo en una sucursal?



que es un branch en informatica (4)

Hice un checkout desde mi maletero a un DIR local e hice muchos cambios locales allí. Ahora no quiero volver a enviarlo al tronco, pero preferiría hacer una rama de esta versión local. ¿Es eso posible?

¿Puedo copiar el tronco a una rama y luego cd DIR y svn switch a la rama?

ACTUALIZACIÓN : ¡Gracias por las respuestas, funcionó! Para resumir los pasos:

  • cd DIR
  • svn copy . new-branch-URL
  • svn switch new-branch-URL .

(tenga en cuenta los puntos)


De acuerdo con su línea de comando, svn copy puede copiar de un directorio a un repositorio URL. Por lo tanto, debería poder copiar su copia de trabajo a la sucursal, por ejemplo:

svn copy working_directory url_to_branch


El libro de SVN ( http://svnbook.red-bean.com/en/1.6/svn-book.html#svn.branchmerge.using.create ) no recomienda crear una rama desde la copia de trabajo local.

Si bien también es posible crear una rama utilizando svn copy para duplicar un directorio dentro de la copia de trabajo, no se recomienda esta técnica. ¡Puede ser bastante lento, de hecho! Copiar un directorio en el lado del cliente es una operación en tiempo lineal, ya que en realidad tiene que duplicar cada archivo y subdirectorio dentro de ese directorio de copia de trabajo en el disco local.

En su lugar, cree la rama primero y luego use el comando svn switch para que pueda confirmar sus cambios. Si su copia de trabajo está significativamente desactualizada con la troncal, agregue "@REV" a la URL de origen donde "REV" es la revisión de su copia de trabajo informada por svn info .

Sin embargo, copiar un directorio en el servidor es una operación de tiempo constante, y es la forma en que la mayoría de las personas crean sucursales.

$ svn copy http://svn.example.com/repos/calc/trunk / http://svn.example.com/repos/calc/branches/my-calc-branch / -m "Creating a private branch of /calc/trunk."


En mi cliente SVN: TortoiseSVN es suficiente para:

  • haga clic derecho en el directorio superior que quiero ramificar
  • en "A URL", seleccione el directorio de sucursal en su repositorio
  • en el marco "Crear copia en el repositorio desde:" seleccione "Copia de trabajo"

hecho :)

Es como copiar la versión local a la URL del repositorio especificada.


Sí, puedes hacerlo por la línea de comando SVN , así como por tortugaSVN .

Debe especificar su copia de trabajo SVN como src y su nueva sucursal como destino de la

svn copy <file/path/to/working/copy> <URL/TO/REPOSITORY/BRANCH>

mando.

En TortoiseSVN simplemente señale su copia de trabajo, elija "Sucursal / etiqueta" del menú contextual y elija "Copia de trabajo" en la sección "Crear copia en el repositorio desde:"

Tenga en cuenta que no es una buena idea (por razones de rastreabilidad) crear etiquetas de esa manera, pero para las ramas está perfectamente bien.