名前

svn copy — 作業コピーやリポジトリ中の、 ファイルやディレクトリをコピー。

用法

svn copy SRC DST

説明

作業コピーまたはリポジトリ中のファイルをコピーします。 SRCDST は、作業コピー(WC)上のパスでも、URLでもかまいません:

WC -> WC

追加用にファイルをコピーし、追加予告します。 (with history).

WC -> URL

WCのコピーを直接URLにコミット。

URL -> WC

URLをWCにチェックアウトし、追加予告する。

URL -> URL

完全なサーバ上のみでのコピー。これは普通ブランチやタグに 利用されます。

注記

ファイルは一つのリポジトリの内部でのみコピー可能です。 Subversionはリポジトリ間コピーをサポートしていません。

別名

cp

変更対象

コピー先が URL である場合はリポジトリ。

コピー先が作業コピーのパスである場合は作業コピー。

リポジトリへのアクセス

コピー元またはコピー先がリポジトリであるか、 ソースリビジョン番号を参照する必要がある場合には発生 する。

スイッチ

--message (-m) TEXT
--file (-F) FILE
--revision (-r) REV
--quiet (-q)
--username USER
--password PASS
--no-auth-cache
--non-interactive
--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.

ヒント

リポジトリ中のリビジョンにtagをつける一番簡単な方法 —そのリビジョン(普通はHEAD)をタグ付けされた ディレクトリに、単に svn copy する。

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