ワークベンチで作業中に、他のメンバーが変更をストリームにリリースすることがあります。自分のワークベンチのリソースを更新するために、ストリームに「キャッチアップ」することができます。
ストリームにキャッチアップする時点、およびストリームからワークベンチに受け入れる変更箇所はコントロールすることができます。
ストリームにキャッチアップすると、最後にキャッチアップした後にストリームにリリースされた変更が表示されます。 これらの変更箇所を受け入れると、それらの変更はローカルのワークベンチに取り込まれます。
ローカルのワークベンチに、ストリームからの変更箇所と競合する発信変更が含まれていた場合は、必要に応じてローカルのワークベンチ内の競合する変更をマージする必要があります。
注: ストリームそれ自体は、キャッチアップしても変更されません。変更箇所を受け入れると、これらの変更はワークベンチに適用されます。 ストリームが変更されるのは、発信変更をリリースした場合のみです。
このペインでは、リポジトリーのリソースとローカルのワークベンチのリソース間の構造上のハイレベルの相違点を表示することができます。
このペインでは、リポジトリーのリソースとローカルのワークベンチのリソース間の特定の相違点を行ごとに表示することができま す。
キャッチアップまたはリリースのときに、競合を検出する場合があります。 競合は、より最近のバージョンがストリーム内で使用可能になっているリソースをローカルで変更した場合に発生します。 すなわち、ストリームに、自分のリソースの基本バージョンよりも新しいバージョンが含まれている場合です。このような状態では、以下のいずれか 1 つを実行することができます。
ストリームから変更を受け取り (ストリームにキャッチアップし)、ローカルの作業は廃棄することができます。 これは、意図していない変更をローカルで行ってしまった場合、またはストリーム内のバージョンの方が自分のバージョンよりも良いとわかった場合に行います。 実際上、自分のローカルの変更を上書きする場合には注意が必要です。本質的には作業を廃棄することになるからです。
変更をリリースして、ストリーム内のバージョンを上書きすることもできます。ただし、この作業は、本質的には他人の作業を廃棄することになるため、きわめて慎重に行ってください。 場合によっては、上書きしようとしている変更が、ストリーム内に他の依存関係を持っている可能性がある場合もあります (たとえば、競合に依存する他の変更箇所があるかもしれません)。
自分の作業をストリームのリソースとマージし、マージしたリソースをローカルで保管することができます。 この場合、後でこのマージした結果をリリースすることができます。
一般に、1 および 2 の選択では、作業内容が失われるという問題があるため、マージする (選択 3) ことになるでしょう。
「同期化 (Synchronize)」ビューには、ストリームと競合しているリソースが示されます。ある指定されたリソースが競合している場合は、通常、自分の変更をそのストリームのリソースとマージします。
たとえば、自分と他のチーム・メンバーの両方が同じ HTML ページを変更したと仮定します。 そのリソースを「同期化 (Synchronize)」ビューで選択すると、ローカルのリソースとストリーム・バージョンとの比較が表示されます。 個々の変更を繰り返し、マージすることにより、変更ごとに、変更箇所を受け入れるか、それを拒否するか、またはローカルの変更とマージするかを決定することができます。 マージが終了したら、自分の変更を保管します。 これにより、自分のローカル・リソースがマージ結果で上書きされます。 この後、このマージしたリソースをリリースすることができます。
キャッチアップ / リリース・モードでは、相違点を 2 つのレベルでマージすることができます。
「構造体の比較 (Structure Compare)」エディターでマージするリソースを選択すると、「テキストの比較 (Text Compare)」エディターにそのリソースが表示されます。 「テキストの比較 (Text Compare)」エディターで「左から右に文書全体をコピー (Copy whole document from right to left)」ボタンをクリックすると、ローカル・エディター内のテキストが、ストリームのリソースの内容で完全に置き換えられます。
「テキストの比較 (Text Compare)」エディターで、「次の変更の選択 (Select Next Change)」ボタンおよび「直前の変更の選択 (Select Previous Change)」ボタンのいずれかを使用してマージする変更にナビゲートするか、単にいずれかのソース・ペインの該当する変更点のどこかをクリックします。 必要に応じて「右から左へカレントの変更をコピー (Copy current change from right to left)」ボタンをクリックして、強調されている断片をストリーム内の対応する変更で上書きします。