定期的に、他のユーザーが行った変更がローカルのワーキングコピーに組み込まれていることを確認する必要があります。サーバーからローカルコピーに変更を取得するプロセスは、更新として知られています。更新は、単一のファイル、選択されたファイルのセット、またはディレクトリ階層全体に対して再帰的に実行できます。更新するには、目的のファイルやディレクトリを選択し、右クリックしてエクスプローラーのコンテキストメニューから → を選択します。ウィンドウがポップアップ表示され、更新の進行状況が表示されます。他のユーザーが行った変更は、ファイルにマージされ、同じファイルに対して行った変更は保持されます。リポジトリは更新によって影響を受けません。
進捗ダイアログは、さまざまな更新アクションを強調するために色分けを使用します。
新しいアイテムがワーキングコピーに追加されました。
冗長なアイテムがワーキングコピーから削除されたか、または欠落しているアイテムがワーキングコピー内で置き換えられました。
リポジトリからの変更がローカルの変更と正常にマージされました。
リポジトリからの変更がローカルの変更とマージされましたが、解決する必要がある競合が発生しました。
ワーキングコピー内の変更されていないアイテムが、リポジトリからの新しいバージョンで更新されました。
これはデフォルトの配色ですが、設定ダイアログを使用してこれらの色をカスタマイズできます。詳細については、「TortoiseSVN カラー設定」のセクションを参照してください。
更新中に競合が発生した場合(他のユーザーがあなたと同じファイルの同じ行を変更し、それらの変更が一致しない場合に発生する可能性があります)、ダイアログにはこれらの競合が赤で表示されます。これらの行をダブルクリックすると、外部マージツールを起動して競合を解決できます。
更新が完了すると、進捗ダイアログには、ファイルリストの下に、更新、追加、削除、競合などのアイテム数の概要が表示されます。この概要情報は、Ctrl+Cを使用してクリップボードにコピーできます。
標準の更新コマンドにはオプションがなく、ワーキングコピーをリポジトリの HEAD リビジョン(最も一般的なユースケース)に更新するだけです。更新プロセスをより細かく制御したい場合は、代わりに
→ を使用する必要があります。これにより、ワーキングコピーを最新のリビジョンだけでなく、特定のリビジョンに更新できます。ワーキングコピーがリビジョン 100 にあるが、リビジョン 50 での状態を反映させたい場合は、単にリビジョン 50 に更新します。同じダイアログで、現在のフォルダーを更新する深さを選択することもできます。使用される用語は、「チェックアウトの深さ」のセクションで説明されています。デフォルトの深さはワーキングコピーで、既存の深さ設定を保持します。深さを固定
に設定することもできます。これは、後続の更新でその新しい深さが使用されることを意味します。つまり、その深さがデフォルトの深さとして使用されます。
チェックアウトから特定のアイテムを含めるまたは除外することを容易にするには、
ボタンをクリックします。これにより、ワーキングコピーに必要なすべてのアイテムをチェックし、不要なすべてのアイテムをチェック解除できる新しいダイアログが開きます。更新で外部プロジェクト(svn:externals
を使用して参照されるプロジェクト)を無視するかどうかを選択することもできます。
ファイルまたはフォルダーを特定のリビジョンに更新する場合、それらのファイルを変更しないでください。コミットしようとすると、「古い」というエラーメッセージが表示されます。ファイルの変更を元に戻して、以前のリビジョンからやり直したい場合は、リビジョンログダイアログから以前のリビジョンにロールバックできます。詳細および代替方法については、「リポジトリ内のリビジョンをロールバック (元に戻す)」のセクションを参照してください。
は、プロジェクトの以前のある時点での状態を確認するために役立つ場合があります。しかし一般的に、個々のファイルを以前のリビジョンに更新することは、ワーキングコピーを矛盾した状態にするため、良い考えではありません。更新しているファイルの名前が変更されている場合、以前のリビジョンにはその名前のファイルが存在しないため、ファイルがワーキングコピーから消えてしまうことさえあります。また、アイテムには通常の緑色のオーバーレイが表示されるため、最新のファイルと区別がつかないことに注意してください。
ファイルの古いバージョンのローカルコピーが必要な場合は、そのファイルのログダイアログから
→ コマンドを使用することをお勧めします。エクスプローラーで複数のファイルとフォルダーを選択し、
を選択すると、これらのファイル/フォルダーはすべて1つずつ更新されます。TortoiseSVN は、同じリポジトリからのすべてのファイル/フォルダーが、更新の間に別のコミットが発生した場合でも、まったく同じリビジョンに更新されるようにします!