svn copy — 作業コピーやリポジトリ中の、ファイルやディレクトリをコピーします。
作業コピーやリポジトリ中のファイルをコピーします。SRC
と DST
は、作業コピー (WC) 上のパスでも、URLでもかまいません。
追加用に項目をコピーし、追加準備をします (履歴含む)。
WC のコピーを、直接 URL にコミットします。
URL を WC にチェックアウトし、追加準備をします。
完全なサーバ上でののコピーです。通常ブランチやタグに利用します。
ファイルは一リポジトリ内でのみコピーできます。 Subversion はリポジトリ間コピーをサポートしていません。
--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 をコミットしました。