Share via


ファイルのマージ

マージとは、異なる作業工程でファイルに別々に加えられた変更を、1 つに統合する処理のことです。

Visual SourceSafe ではマージ コンフリクトの解決はできませんが、コンフリクトの場所を示すことができます。マージ コンフリクトを表示、解決するために、ビジュアル マージおよび手動マージの 2 つの方法が提供されています。

[ツール] メニューの [オプション] をクリックして表示される [Visual SourceSafe オプション] ダイアログ ボックスの [全般] タブで、マージ方法を選択できます。特に指定しない限り、コンフリクトがあるファイルに対してビジュアル マージが実行されます。

Visual SourceSafe では、多重チェックアウト、分岐したファイルの統合、ファイルの取得の 3 つのケースでマージが発生します。

  • 多重チェックアウト - 複数のユーザーが同じファイルをチェックアウトしている場合、最初のユーザーがファイルをチェックインした後、別のユーザーがチェックインを行うと、両者の変更内容はマージされます。すべての変更点はすべて保持されます。
  • 分岐 - 2 つの分岐ファイルをいずれかの分岐元プロジェクトにマージすると、いずれかのプロジェクトで変更された箇所が、もう一方のプロジェクトの未変更の箇所とマージされます。

どのケースも、マージ方法は同じです。編集後のファイルが元のファイルと比較され、すべての変更内容を含む結果ファイルが作成されます。たとえば、編集後のファイルをチェックインすると、ローカル ディスク上のファイルとプロジェクト内のファイルが統合され、すべての変更内容を反映した結果ファイルが作成されます。

取得時のマージ

多重チェックアウト後に [チェックイン]、または [最新バージョンの取得] を行うと、マージが発生する可能性があります。[最新バージョンの取得] の場合は、[ローカル ファイル] タブの [書き込み可能ファイルの置換] がオンになっているとマージが発生します。

この場合、最新バージョンを取得すると、ローカル コピーと Visual SourceSafe に保存されているマスター間の相違点がローカル コピーにマージされます。

メモ   ファイルが排他チェックアウトされている場合は、[最新バージョンの取得] を実行してもマージは行われません。

マージ後の処理

マージを行うと、作業フォルダ内のファイルが更新されます。マージが成功すると、作業フォルダ内のファイルにマージ結果が反映されます。マニュアル マージを指定していない場合、マージ コンフリクトが検出されると、ビジュアル マージ ウィンドウが表示されます。ビジュアル マージ ウィンドウで、視覚的に簡単にコンフリクトを見つけ、修正できます。通常はこの方法をお勧めします。

旧バージョンの Visual SourceSafe で作業を行っていた場合、または実行時に介入できないバッチ スクリプトの場合は、マニュアル マージによって識別マーカー (等号 (=) の 6 個連続) をファイルに設定できます。識別マーカーの検索および編集は、どのテキスト エディタでも手作業で実行できます。

  • コンフリクトがあった場合は、ファイルはチェックアウトされたままになります。ファイルをチェックインするには、コンフリクトを解決する必要があります。
  • 分岐されたプロジェクトを分岐元のプロジェクトにマージしたときに、分岐元のプロジェクトに既にチェックアウトされているファイルがある場合は、ファイルがチェックアウトされたままになります。
  • これ以外の場合にも、マージ後にファイルを自動的にチェックインするか、またはファイルの内容を確認してから変更できるように作業フォルダにチェックアウトしたままにしておくか、いずれかのオプションを選択できます。

コンフリクトが解決したら、ファイルを再度チェックインします。コンフリクトが再チェックされます。コンフリクトがすべて解決されていれば、ファイルはチェックインされます。

マージの使用方法については、次の項目を参照してください。

参照

Mark_Merges 初期化変数 | Merge_Ext 初期化変数 | Visual SourceSafe 6.0 の機能