定期的に、他の人が行った変更を作業コピーに取り込まなければなりません。サーバーから作業コピーに変更を取り込む作業を、更新と言います。更新は単一のファイルに対して行うことも、複数の選択したファイルに対して行うことも、ディレクトリ構造に対して再帰的に行うこともできます。更新するには、更新したいファイルやディレクトリを選択し、右クリックで表示されるエクスプローラーのコンテキストメニューから、 → を実行してください。更新の進行を表すウィンドウがポップアップし、更新が始まります。他の人が行った変更が、作業コピーにマージされますが、作業コピーで行った変更はすべて保持されます。更新では、リポジトリに影響を与えません。
進行ダイアログは更新の内容を色分けして、目立つようになっています。
作業コピーに新しい項目が追加された。
作業コピーから余分な項目が削除された、作業コピーの紛失項目が置き換えられた。
リポジトリからの変更がローカルの変更に正常にマージできた。
リポジトリからの変更をローカルの変更にマージした結果、競合が発生して解決が必要になった。
作業コピー内の変更のない項目をリポジトリの新しいバージョンに更新した。
これはデフォルトの色設定ですが、設定ダイアログで色をカスタマイズできます。詳細は 「TortoiseSVN の色の設定」をご覧ください。
更新中に競合(同じファイルの同じ行を同時に変更して、それが一致しなかった場合に発生する)が発生したら、ダイアログでは競合を赤で表します。その行をダブルクリックして、外部マージツールを起動し競合を解決できます。
更新が完了すると、項目の更新・追加・削除・競合などの概略を進行ダイアログに表示します。概略情報は Ctrl+C でクリップボードにコピーできます。
標準の更新コマンドは、ただ作業ディレクトリをリポジトリの最新の HEAD リビジョンに更新します。指定するオプションは何もなく、ほとんどの場面ではこれで充分です。更新作業でこれ以上の制御をしたい場合は、代わりに
→ を使用してください。このコマンドでは、最新のものだけでなく、特定のリビジョンに作業コピーを更新することができます。作業コピーがリビジョン100になっていて、それをリビジョン50の状態に戻したいのであれば、リビジョン50に更新するだけです。同じダイアログで、現在のフォルダーを更新するときの 深さ を選択することもできます。選択肢の意味については、 「チェックアウトの深さ」をご覧ください。デフォルトでは 作業コピー が選択されており、これは現在の深さを維持します。また、深さを記憶する
を選択することもできます。これを選択すると、以降の更新ではそれが新しい深さの初期値として使用されます。
ボタンをクリックすると、チェックアウト時に特定の項目を簡単に含めたり除外したりすることができます。新しいダイアログが開かれるので、作業コピーに入れたいすべての項目をチェックして、それ以外の項目のチェックを外してください。
更新の時には、特定の外部プロジェクトを無視するかどうかを選択できます(つまり、プロジェクトは svn:externals
を使用して参照されます)。
リビジョンを指定してファイルやフォルダーを更新した場合、そのファイルを変更するべきではありません。これをコミットしようとすると、「作業コピーは最新ではありません」のエラーが発生します。ファイルへの変更を取り消し、直前のリビジョンから新しくはじめたい場合、リビジョンログダイアログから以前のリビジョンに戻してしてください。詳しい方法や代替案については、 「リポジトリのリビジョンのロールバック(取り消し)」をご覧ください。
は、履歴中の以前の時点ではどうだったかを見るのに時々は便利です。ですが一般的に、単独のファイルを以前のリビジョンに更新するのは、作業コピーを矛盾した状態にしかねないので、よい方法とは言えません。もし名前が変更されたことがあるファイルを更新すると、古いリビジョンではその名前では存在していなかったため、作業コピーから消えてしまい、探さなければならなくなるかもしれません。また、こうしたファイルには通常の緑のオーバーレイが表示されるので、最新のファイルと区別がつかないことにも注意してください。
単にそのファイルの古いリビジョンのローカルコピーが欲しければ、ログダイアログで選んだファイルに対して、
→ コマンドを使用する方がよいでしょう。エクスプローラーで複数のファイルやフォルダーを選択し、
を選択した場合、そのファイルやフォルダーをひとつずつ更新していきます。 TortoiseSVN は同じリポジトリから取得したファイルやフォルダーは、全く同じリビジョンに確実に更新します。この更新中に他の人からのコミットが発生してもです。