Name

svn copy — Kopieren einer Datei oder eines Verzeichnisses in einer Arbeitskopie oder im Projektarchiv.

Aufruf

svn copy SRC[@REV]... DST

Beschreibung

Kopieren einer Datei oder mehrerer Dateien in der Arbeitskopie. Werden mehrere Quellen kopiert, werden diese als Kinder DST hinzugefügt, welches ein Verzeichnis sein muss. SRC und DST können beide entweder ein Pfad in der Arbeitskopie (AK) oder ein URL sein:

AK → AK

Element kopieren und zum Hinzufügen vormerken (mit Geschichte).

AK → URL

Eine Kopie aus der AK direkt an den URL übergeben.

URL → AK

URL in AK auschecken und zum Hinzufügen vormerken.

URL → URL

Kopie vollständig auf dem Server. Dies wird normalerweise zum Anlegen von Zweigen und zum Etikettieren mit Tags verwendet.

Werden mehrere Quellen kopiert, werden diese als Kinder DST hinzugefügt, welches ein Verzeichnis sein muss.

[Anmerkung] Anmerkung

Sie können Dateien nur innerhalb eines einzelnen Projektarchivs kopieren. Subversion unterstützt nicht das Kopieren zwischen Projektarchiven.

Alternativnamen

cp

Änderungen

Projektarchiv, falls Ziel ein URL ist; Arbeitskopie, falls Ziel ein AK-Pfad ist.

Projektarchiv-Zugriff

Ja, falls Quelle und Ziel im Projektarchiv liegen oder falls die Revisionsnummer der Quelle ermittelt werden muss.

Optionen

--editor-cmd EDITOR
--encoding ENC
--file (-F) FILE
--force-log
--message (-m) TEXT
--parents
--quiet (-q)
--revision (-r) REV
--with-revprop ARG

Beispiele

Kopie eines Objektes innerhalb Ihrer Arbeitskopie (dies merkt die Kopie vor – bis zur Übergabe wird nichts ins Projektarchiv übertragen):

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

Kopieren mehrerer Dateien der Arbeitskopie in ein Unterverzeichnis:

$ svn cp bat.c baz.c qux.c src
A         src/bat.c
A         src/baz.c
A         src/qux.c

Kopieren von bat.c, Revision 8 in Ihre Arbeitskopie unter einem anderen Namen:

$ svn cp -r 8 bat.c ya-old-bat.c
A         ya-old-bat.c

Kopie eines Objektes in Ihrer Arbeitskopie zu einem URL im Projektarchiv (dies ist eine sofortige Übergabe, so dass Sie eine Protokollnachricht angeben müssen):

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

Revision 8 übertragen.

Kopie eines Objektes aus dem Projektarchiv in Ihre Arbeitskopie (dies merkt die Kopie nur vor – vor der Übergabe gelangt nichts ins Projektarchiv):

$ svn copy file:///var/svn/repos/test/far-away -r 6 near-here
A         near-here
[Tipp] Tipp

Dies ist die empfohlene Methode, eine gelöschte Datei im Projektarchiv wiederherzustellen!

Schließlich eine Kopie zwischen zwei URLs:

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

Revision 9 übertragen.
$ svn copy file:///var/svn/repos/test/trunk \
           file:///var/svn/repos/test/tags/0.6.32-prerelease -m "tag tree"

Revision 12 übertragen.
[Tipp] Tipp

Dies ist die einfachste Methode, um eine Revision in Ihrem Projektarchiv mit einem Tag zu etikettieren – kopieren Sie diese Revision (normalerweise HEAD lediglich mit svn copy ) in Ihr tags-Verzeichnis.

Machen Sie sich keine Sorgen, falls sie das Etikettieren einmal vergessen haben sollten – Sie können immer eine ältere Revision angeben und jederzeit ein Tag vergeben:

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

Revision 13 übertragen.