This text is a work in progress—highly subject to change—and may not accurately describe any released version of the Apache™ Subversion® software. Bookmarking or otherwise referring others to this page is probably not such a smart idea. Please visit http://www.svnbook.com/ for stable versions of this book.
svn copy (cp) — Copier un ou plusieurs fichiers ou répertoires dans une copie de travail ou dans le dépôt.
svn copy SRC[@REV]... DST
Copier un ou plusieurs fichiers ou répertoires dans une copie de
travail ou dans le dépôt. Lors de la copie de plusieurs sources,
elles seront ajoutées en tant que fils de
DST
, qui doit être un répertoire.
SRC
et DST
peuvent être dans la copie de travail(WC) ou une URL :
Copier et prévoir pour ajout un élément (avec reprise de l'historique).
Propager immédiatement une copie de WC vers URL.
Extraire l'URL dans WC et le prévoir pour ajout.
Copier complètement côté serveur. Utilisé habituellement pour créer des branches ou des étiquettes.
S'il n'y pas de révision pivot (c-à-d.
@
) spécifiée, la révision
@REV
BASE
est utilisée par défaut pour les fichiers
copiés depuis la copie de travail et la révision
HEAD
est utilisée par défaut pour les fichiers
copiés depuis une URL.
Note | |
---|---|
Vous ne pouvez copier que des fichiers provenant d'un même dépôt. Subversion n'est pas capable d'effectuer des copies inter-dépôts. |
Copier un élément dans la copie de travail (la copie est prévue pour ajout ; rien n'est écrit dans le dépôt avant que vous n'effectuyez une propagation) :
$ svn copy machin.txt bidule.txt A bidule.txt $ svn status A + bidule.txt
Copier plusieurs fichiers de la copie de travail dans un répertoire :
$ svn cp bat.c truc.c qux.c src A src/bat.c A src/truc.c A src/qux.c
Copier la révision 8 de bat.c
dans la copie
de travail sous un autre nom :
$ svn cp -r 8 bat.c un-vieux-bat.c A un-vieux-bat.c
Copier un élément de la copie de travail vers une URL dans le dépôt (ceci provoque immédiatement une propagation, c'est pourquoi vous devez fournir une entrée dans le journal de propagation) :
$ svn copy proche.txt file:///var/svn/depot/test/tres-loin.txt -m "Copie distante." Révision 8 propagée.
Copier un élément du dépôt vers la copie de travail (ceci ne fait que prévoir la copie — rien ne se passe sur le dépôt tant que vous ne faites pas de propagation) :
$ svn copy file:///var/svn/depot/test/tres-loin -r 6 près-d-ici A près-d-ici
Astuce | |
---|---|
C'est la méthode recommandée pour ressuciter un fichier disparu dans le dépôt ! |
Et enfin, copier entre deux URL :
$ svn copy file:///var/svn/depot/test/tres-loin \ file:///var/svn/depot/test/là-bas -m "copie distante." Révision 9 propagée.
$ svn copy file:///var/svn/depot/test/trunk \ file:///var/svn/depot/test/tags/0.6.32-pre-officielle \ -m "création d'une étiquette" Révision 12 propagée.
Astuce | |
---|---|
C'est la méthode la plus facile pour « étiqueter »
une révision dans le dépôt — faites juste svn
copy de cette révision (généralement, c'est
|
Et ne vous inquietez pas si vous avez oublié de créer votre étiquette — vous pouvez toujours indiquer une vieille révision et étiqueter quand bon vous semble :
$ svn copy -r 11 file:///var/svn/depot/test/trunk \ file:///var/svn/depot/test/tags/0.6.32-pre-officielle \ -m "Oublié de créer l'étiquette à la révision 11" Révision 13 propagée.