svn copy
最后更新于:2022-04-02 05:57:57
### 名称
svn copy ― 拷贝工作拷贝的一个文件或目录到版本库。
### 概要
~~~
svn copy SRC DST
~~~
### 描述
拷贝工作拷贝的一个文件或目录到版本库。*`SRC`*和*`DST`*既可以是工作拷贝(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`)到你的tags目录。
~~~
$ 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.
~~~
';