Nombre

svn copy — Copia un fichero o un directorio en la copia de trabajo local o en el repositorio.

Sinopsis

svn copy SRC DST

Descripción

Copia un fichero en la copia de trabajo local o en el repositorio. SRC y DST pueden ser ambos o bien la ruta de una copia de trabajo local (WC) o una URL:

WC -> WC

Copia y programa la adición (con historia) de un elemento.

WC -> URL

Envía al servidor inmediatamente una copia de WC a URL.

URL -> WC

Obtiene una copia local de URL en WC, y la programa para una adición.

URL -> URL

Copia realizada por completo en el servidor. Esto normalmente se usa para crear una rama o etiqueta.

[Nota] Nota

Sólo puede copiar ficheros dentro de un mismo repositorio. Subversion no permite realizar copias entre repositorios.

Nombres alternativos

cp

Cambios

En repositorio si el destino es una URL.

En copia local si el destino es una ruta WC.

Accede al repositorio

Si la fuente o el destino están en el repositorio, o si tiene que consultar el número de revisión de la fuente.

Parámetros

--message (-m) TEXT
--file (-F) FILE
--revision (-r) REV
--quiet (-q)
--username USER
--password PASS
--no-auth-cache
--non-interactive
--force-log
--editor-cmd EDITOR
--encoding ENC
--config-dir DIR

Ejemplos

Copiar un elemento dentro de su copia de trabajo local (únicamente programa la copia—nada ocurre en el repositorio hasta que envíe los cambios):

$ svn copy foo.txt bar.txt
A         bar.txt
$ svn status
A  +   bar.txt

Copiar un elemento desde su copia de trabajo local a una URL en el repositorio (envía el cambio inmediatamente, así que debe proporcionar el mensaje para el informe de cambios):

$ svn copy near.txt file:///tmp/repos/test/far-away.txt -m "Remote copy."

Committed revision 8.

Copiar un elemento desde el repositorio a su copia de trabajo local (únicamente programa la copia—nada ocurre en el repositorio hasta que envíe los cambios):

[Sugerencia] Sugerencia

¡Este es el método recomendado para recuperar un fichero borrado en su repositorio!

$ svn copy file:///tmp/repos/test/far-away near-here
A         near-here

Y finalmente, una copia entre dos URLs:

$ svn copy file:///tmp/repos/test/far-away file:///tmp/repos/test/over-there -m "remote copy."

Committed revision 9.
[Sugerencia] Sugerencia

Este es el modo más sencillo para etiquetar una revisión en su repositorio—simplemente haga svn copy de esa revisión (habitualmente HEAD) en su directorio de etiquetas.

$ svn copy file:///tmp/repos/test/trunk file:///tmp/repos/test/tags/0.6.32-prerelease -m "tag tree"

Committed revision 12.

Y no se preocupe si se olvidó de etiquetar—siempre puede especificar una revisión anterior y etiquetarla en cualquier momento:

$ svn copy -r 11 file:///tmp/repos/test/trunk file:///tmp/repos/test/tags/0.6.32-prerelease -m "Forgot to tag at rev 11"

Committed revision 13.