名前

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

書式

svn copy SRC DST

説明

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

WC -> WC

追加用に項目をコピーし、追加準備をします (履歴含む)。

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

リビジョン 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."

リビジョン 9 をコミットしました。

ティップ

リポジトリ中のリビジョンに 「tag」 をつける一番簡単な方法は — そのリビジョン (通常 HEAD) を tags ディレクトリに、単に svn copy することです。

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

リビジョン 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"

リビジョン 13 をコミットしました。