本手册描述了 Subversion 1.2。如果您正在运行更新版本的 Subversion,我们强烈建议您访问 https://svnbook.subversion.org.cn/ 并查阅适合您的 Subversion 版本的手册。

名称

svn copy — 在工作副本或仓库中复制文件或目录。

概要

svn copy SRC DST

描述

在工作副本或仓库中复制文件。 SRCDST 可以是工作副本 (WC) 路径或 URL。

WC -> WC

复制并安排添加项目(带有历史记录)。

WC -> URL

立即将 WC 的副本提交到 URL。

URL -> WC

将 URL 检出到 WC,并安排添加。

URL -> URL

完成服务器端复制。这通常用于分支和标记。

注意

您只能在一个仓库内复制文件。Subversion 不支持跨仓库复制。

替代名称

cp

更改

如果目标是 URL,则为仓库。

如果目标是 WC 路径,则为工作副本。

访问仓库

如果源或目标在仓库中,或者需要查找源版本号。

开关

--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

示例

复制工作副本内的项目(仅安排复制 — 直到您提交之前,没有任何内容进入仓库)

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

将工作副本中的项目复制到仓库中的 URL(立即提交,因此您必须提供提交消息)

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

Committed revision 8.

从仓库复制项目到工作副本(仅安排复制 — 直到您提交之前,没有任何内容进入仓库)

提示

这是恢复仓库中已删除文件的推荐方法!

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

最后,在两个 URL 之间复制

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

Committed revision 9.

提示

这是在仓库中“标记”修订版的最简单方法 — 只需 svn copy 该修订版(通常是 HEAD)到您的标签目录。

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

Committed revision 12.

如果您忘记标记,不要担心 — 您始终可以指定较旧的修订版并在任何时候进行标记

$ 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.
TortoiseSVN 官方中文版 1.14.7 发布