svn copy — 作業コピーやリポジトリ中の、 ファイルやディレクトリをコピー。
作業コピーまたはリポジトリ中のファイルをコピーします。
SRC
と DST
は、作業コピー(WC)上のパスでも、URLでもかまいません:
追加用にファイルをコピーし、追加予告します。 (with history).
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 --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.