svn copy (cp) — Copy a file or directory in a working copy or in the repository.
Copy one or more files in a working copy or in the
            repository. SRC and
            DST can each be either a
            working copy (WC) path or URL.  When copying multiple
            sources, add the copies as immediate children
            of DST (which, of course, must
            be a directory).
Copy and schedule an item for addition (with history).
Immediately commit a copy of WC to URL.
Check out URL into WC and schedule it for addition.
Complete server-side copy. This is usually used to branch and tag.
If no peg revision (i.e.,
            @REV) is supplied, by default
            the BASE revision will be used for
            files copied from the working copy, while the
            HEAD revision will be used for files
            copied from a URL.
| ![[Note]](images/note.png)  | Note | 
|---|---|
| You can only copy files within a single repository. Subversion does not support cross-repository copying. | 
Copy an item within your working copy (this schedules the copy—nothing goes into the repository until you commit):
$ svn copy foo.txt bar.txt A bar.txt $ svn status A + bar.txt
Copy several files in a working copy into a subdirectory:
$ svn copy bat.c baz.c qux.c src A src/bat.c A src/baz.c A src/qux.c
Copy revision 8 of bat.c into your
            working copy under a different name:
$ svn copy -r 8 bat.c ya-old-bat.c A ya-old-bat.c
Copy an item in your working copy to a URL in the repository (this is an immediate commit, so you must supply a commit message):
$ svn copy near.txt file:///var/svn/repos/test/far-away.txt -m "Remote copy." Committed revision 8.
Copy an item from the repository to your working copy (this just schedules the copy—nothing goes into the repository until you commit):
$ svn copy file:///var/svn/repos/test/far-away -r 6 near-here A near-here
| ![[Tip]](images/tip.png)  | Tip | 
|---|---|
| This is the recommended way to resurrect a dead file in your repository! | 
And finally, copy between two URLs:
$ svn copy file:///var/svn/repos/test/far-away \
           file:///var/svn/repos/test/over-there -m "remote copy."
Committed revision 9.
        
$ svn copy file:///var/svn/repos/test/trunk \
           file:///var/svn/repos/test/tags/0.6.32-prerelease -m "tag tree"
Committed revision 12.
        | ![[Tip]](images/tip.png)  | Tip | 
|---|---|
| This is the easiest way to “tag” a
              revision in your repository—just svn
              copy that revision (usually
               | 
And don't worry if you forgot to tag—you can always specify an older revision and tag anytime:
$ 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"
Committed revision 13.