ファイルやフォルダーのコピー・移動・名前の変更

リポジトリ内の別なプロジェクトにある既存のファイルを流用したくなり、プロジェクトをまたがってコピーしたくなる場合があります。上記のようにファイルを単純にコピーして追加しても良いのですが、そうするとそれまでの履歴が見えなくなってしまいます。また、後で元のファイルにバグ修正が行われた場合、新しいコピーが Subversion 内の元のファイルに関連づけられていないと、修正を自動的にマージすることができません。

作業コピーの中にあるファイルやフォルダーをコピーするには、右ドラッグメニューを使うのがもっとも簡単です。ファイルやフォルダーを右ドラッグで、作業コピーから他のフォルダー、または同じフォルダー内に向けてドラッグすると、マウスのボタンを離すと同時にコンテキストメニューが現れます。

図4.32 バージョン管理下のディレクトリに対する右ドラッグメニュー

バージョン管理下のディレクトリに対する右ドラッグメニュー


これで既存のバージョン管理下の内容を、新しい場所にコピーできます。必要なら同時に名前を変更することもできます。

作業コピーにあるバージョン管理下のファイルや、2つの作業コピーの間でコピーや移動を行う場合は、おなじみのカット&ペースト操作を使用することもできます。バージョン管理下のファイルをクリップボードにコピーするには、 Windows 標準の コピー切り取り を実行してください。クリップボードにバージョン管理下のファイルがある状態で、 TortoiseSVN貼り付け (注意: Windows 標準の 貼り付け ではありません)を使用すると、新しい作業コピーの場所にファイルをコピーや移動することができます。

TortoiseSVNブランチ/タグの作成 を使用して、ファイルやフォルダーを作業コピーからリポジトリの別の場所にコピーできます。詳細は、 「ブランチ/タグの作成」 をご覧ください。

コンテキストメニューリビジョンからブランチ/タグを作成 を使用して、ログダイアログにあるファイルやフォルダーの旧バージョンをリポジトリの新しい場所へ、ログダイアログから直接、コピーできます。詳細は、 「追加情報の取得」 をご覧ください。

また、リポジトリブラウザーを使用して、ファイルを任意の場所に配置したり、リポジトリから作業コピーに直接コピーしたりすることができます。さらにリポジトリ内の2つの場所の間でコピーできます。詳細は 「リポジトリブラウザー」 をご覧ください。

リポジトリ間のコピーはできません

TortoiseSVN では、リポジトリの 内部 でファイルやフォルダーはコピーや移動を行うと履歴が保持されますが、リポジトリ間をまたがってファイルやフォルダーをコピーや移動を行うと、履歴が保持されません。リポジトリが同じサーバー上にあったとしても同様です。現状のファイルの内容をコピーし、別なリポジトリに新しい内容として追加することはできます。

同じサーバーの2つの URL が、同じリポジトリを指しているか違うリポジトリを指しているかはっきりしない場合、リポジトリブラウザーを使用して一方の URL を開き、リポジトリルートがどこにあるかを探してください。同じリポジトリブラウザーウィンドウに両方の場所があれば、それらは同じリポジトリにあります。