(57)【特許請求の範囲】
【請求項１】
コンピュータ・ファイルのセットの複数の様々なバージョンをマージする方法であって、
コンピュータ・ファイルの前記セットの複数の様々なバージョンを自動的に不整合ハンドラにロードするステップと、
不整合が前記不整合ハンドラによって検出された前記複数の様々なバージョンのコンピュータ・ファイルの前記データを同時に表示するステップであって、前記バージョンの前記データ間の相違を強調できる、ステップと、
前記バージョンから前記表示されたデータのユーザによる１つの表示選択に応答して、前記バージョンの間の第１の相違を解決するステップと、
前記ユーザによって選択された前記解決された相違を含む、前記ロードされたコンピュータ・ファイルのバージョンを記憶するステップと、
を含み、
前記表示するステップが、複数のビュー・オプションを表示するステップであって、前記バージョンを分割ビュー、複合ビュー、分割-マージ・ビュー、または複合-マージ・ビューのいずれかのビューで表示するステップをさらに含み、前記分割ビューが、前記複数のビュー・オプションが異なるパートを左右に並べたビューであり、前記複合ビューが、前記ビュー・オプションが複数のバージョンを割り込ませたビューであり、前記分割-マージ・ビューが、前記複数のビュー・オプションがパート・バージョンを上下に並べたビューをマージ作業の結果または対象とともに表示するビューであり、前記複合-マージ・ビューが、前記複数のビュー・オプションがパート・バージョンを割り込ませたビューである、
方法。
【請求項２】
コンピュータ・ファイルのセットの複数の様々なバージョンをマージするシステムであって、
コンピュータ・ファイルの前記セットの複数の様々なバージョンを自動的に不整合ハンドラにロードする手段と、
不整合が前記不整合ハンドラによって検出された前記複数の様々なバージョンのコンピュータ・ファイルの前記データを同時に表示する手段であって、前記バージョンの前記データ間の相違を強調できる、手段と、
前記バージョンからの前記表示されたデータのユーザによる１つの表示選択に応答して、前記バージョン間の第１の相違を解決する手段と、
前記ユーザによって選択された前記解決された相違を含む、前記ロードされたコンピュータ・ファイルのバージョンを記憶する手段と、
を含み、
前記表示する手段が、複数のビュー・オプションを表示する手段であって、前記バージョンを分割ビュー、複合ビュー、分割-マージ・ビュー、または複合-マージ・ビューのいずれかのビューで表示する手段をさらに含み、前記分割ビューが、前記複数のビュー・オプションが異なるパートを左右に並べたビューであり、前記複合ビューが、前記ビュー・オプションが複数のバージョンを割り込ませたビューであり、前記分割-マージ・ビューが、前記複数のビュー・オプションがパート・バージョンを上下に並べたビューをマージ作業の結果または対象とともに表示するビューであり、前記複合-マージ・ビューが、前記複数のビュー・オプションがパート・バージョンを割り込ませたビューである、
システム。
【請求項３】
コンピュータ・ファイルのセットの複数の様々なバージョンをマージするコンピュープログラムを記憶したコンピュータ・プログラム記憶媒体であって、
コンピュータ・ファイルの前記セットの複数の様々なバージョンを自動的に不整合ハンドラにロードするステップと、
不整合が前記不整合ハンドラによって検出された前記複数の様々なバージョンのコンピュータ・ファイルの前記データを同時に表示するステップであって、前記バージョンの前記データ間の相違を強調できる、ステップと、
前記バージョンからの前記表示されたデータのユーザによる１つの表示選択に応答して、前記バージョン間の第１の相違を解決するステップと、
前記ユーザによって選択された前記解決された相違を含む、前記ロードされたコンピュータ・ファイルのバージョンを記憶するステップと、
を含み、
前記表示するステップが、複数のビュー・オプションを表示するステップであって、前記バージョンを分割ビュー、複合ビュー、分割-マージ・ビュー、または複合-マージ・ビューのいずれかのビューで表示するステップをさらに含み、前記分割ビューが、前記複数のビュー・オプションが異なるパートを左右に並べたビューであり、前記複合ビューが、前記ビュー・オプションが複数のバージョンを割り込ませたビューであり、前記分割-マージ・ビューが、前記複数のビュー・オプションがパート・バージョンを上下に並べたビューをマージ作業の結果または対象とともに表示するビューであり、前記複合-マージ・ビューが、前記複数のビュー・オプションがパート・バージョンを割り込ませたビューである、
コンピュータ・プログラム記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般にはコンピュータ・ソフトウェアに関し、詳細には、様々なバージョンを整合させることができるようにするために、同時に数人の異なる人物によってファイルが変更／更新されたことをユーザに自動的に通知する方法およびシステムに関する。
【０００２】
【従来の技術】
プログラミング環境では、プログラマは新しいプログラムを作成し、変更／更新またはデバッグするためにファイルをチェック・アウトすることがある。ライブラリ・タイプの記憶システムを使用する場合、これは同時に数人の異なるプログラマによってこれが行われることがある。したがって、各プログラマが１つまたは複数の変更を行った場合、他のプログラマは何が行われたかがわからないことがある。様々なプログラマからファイルがライブラリに返される場合、単一の正しい更新済みバージョンは存在しないことになる。
【０００３】
現在、ユーザが一度に１セットの変更済みファイルをマージすることができるようにするツールがあるが、ユーザは何セットあるかを判断し、手作業でそれら全体をくまなく調べて変更を追跡する必要がある。明らかに、これは時間がかかり、誤りが生じやすい。他のツールは、更新の必要がある該当するすべてのファイル・セットを自動的に判断するが、ユーザはやはりそれらのセット全体を手作業で調べなければならない。
【０００４】
【発明が解決しようとする課題】
したがって、ファイルの更新バージョンの選択とその中にある不整合の解決を自動的に行う方法およびシステムが必要である。
【０００５】
【課題を解決するための手段】
本発明は、コンピュータ・ファイルのセットの複数の様々なバージョンをマージし、それによって従来の技術に付随する問題を軽減する方法およびシステムに関する。本発明によって、ユーザは変更が必要と考えられる箇所を手作業で追跡する必要なしに、不整合のある特有なバージョンを視覚的に選択することができる。
【０００６】
本発明の一実施形態によると、コンピュータ・ファイルの複数の様々なバージョンがマージされる。複数の様々なバージョンの各バージョンを自動的に不整合ハンドラにロードする。次にこれらの様々なバージョンを不整合ハンドラによってユーザに表示する。ユーザは様々なバージョン間に相違があれば、それらのバージョンのうちの好ましい１つのバージョンを視覚的に選択することによってその相違を解決する。
【０００７】
これらのバージョンは、ユーザ・インタフェースに従って複数のビューのうちのいずれかでユーザに表示することができる。これらのビューは、分割、複合、分割−マージ、および複合−マージである。
【０００８】
本明細書に記載の解決策は、整合させる必要があるファイル・セット（不整合）をリストし、それらを不整合ハンドラにロードする。次に、ユーザはそのリスト全体を調べ、必要に応じて、ファイルの１つを選択することによって、または選択と修正によりいくつかのファイルをマージすることによって相違を解決する。ユーザには、ビュー（分割、複合、分割−マージ、複合−マージ）を迅速に切り替えることができるボタンが提供される。これによって、ユーザはファイルをいくつかの異なる方法で見ることができ、この処理がさらに容易になる。
【０００９】
【発明の実施の形態】
図１を参照すると、本発明を実施するために使用することができるデータ処理システム８の図が図示されている。図のように、データ処理システム８は、ローカル・エリア・ネットワーク（ＬＡＮ）１０および３２などの複数のネットワークを含むことができ、各ネットワークはそれぞれ複数の個別のコンピュータ１２および３０を含むことが好ましい。当然ながら、当業者なら、ホスト・プロセッサに結合された複数のインテリジェント・ワークステーション（ＩＷＳ）をこのような各ネットワークに使用可能であることがわかるであろう。各前記ネットワークは、共用メモリ、共用記憶装置、または相互接続ネットワークなどの通信媒体を介して結合された複数のプロセッサで構成することもできる。このようなデータ処理システムで一般的に行われているように、個々の各コンピュータは記憶装置１４やプリンタ／出力装置１６に結合することができ、マウス１７などのポインティング・デバイスを備えることができる。
【００１０】
データ処理システム８は、メインフレーム・コンピュータ１８などの複数のメインフレーム・コンピュータも含むことができ、これは通信リンク２２によってＬＡＮ１０に結合されることが好ましい。メインフレーム・コンピュータ１８は記憶装置２０にも結合することができ、記憶装置２０はＬＡＮ１０の遠隔記憶装置の役割を果たす。同様に、ＬＡＮ１０は通信リンク２４を介し、サブシステム制御装置／通信制御装置２６と通信リンク３４を介してゲートウェイ・サーバ２８に結合することができる。ゲートウェイ・サーバ２８は、ＬＡＮ３２をＬＡＮ１０にリンクする機能を果たすＩＷＳであることが好ましい。
【００１１】
ＬＡＮ３２およびＬＡＮ１０に関して、複数の文書または資源オブジェクトを記憶装置２０に記憶し、記憶された資源オブジェクトの資源マネージャまたはライブラリ・サービスとして、メインフレーム・コンピュータ１８によって制御することができる。当然ながら、当業者ならメインフレーム・コンピュータ１８はＬＡＮ１０から地理的に遠距離に配置することができ、同様にＬＡＮ１０はＬＡＮ３２から遠距離に配置することができることがわかるであろう。たとえば、ＬＡＮ３２を米国のカリフォルニア州に置き、ＬＡＮ１０をノースカロライナ州に置き、メインフレーム・コンピュータ１８をニューヨークに置くことができる。
【００１２】
本発明を使用するソフトウェア・プログラム・コードは、典型的には開発者がそこから配布のためにそのコードにアクセスすることができるスタンド・アロン型ワークステーションまたはＬＡＮサーバの記憶装置１４のメモリに記憶される。このソフトウェア・プログラム・コードは、ディスケットやＣＤ−ＲＯＭなどのデータ処理システムと共に使用する様々な周知の媒体のいずれの媒体上でも実施可能であり、他のシステムのユーザが使用するように１つのコンピュータ・システムのメモリから何らかのタイプのネットワークを介して他のコンピュータ・システムのユーザに配布することもできる。媒体上にソフトウェア・コードを実施したりソフトウェア・コードを配布したりするこのような技法および方法は周知であり、本明細書では詳述しない。
【００１３】
本発明を例示するために、図２に示すように、３人の開発者（ユーザＡ、ユーザＢ、およびユーザＣ）がファイルの共通プールを使用してタイムラインに沿って並列して作業する事例を使用する。それぞれブロック１００、２００、および３００で各ユーザの作業領域を作成した後、それぞれブロック１０２、２０２、および３０２でユーザＡ、Ｂ、およびＣがそれぞれファイルをチェック・アウトする。ファイルの１つ「Ｎｅｗｆｍ．ｃ」がユーザＡとユーザＢの両者によってチェック・アウトされている。さらに、「Ｎｅｗｆｍ．ｃ」はそれぞれブロック１０４および２０４でユーザＡとユーザＢの両者によって修正された。ユーザＢはブロック２０６で最初にファイル「Ｎｅｗｆｍ．ｃ」をチェック・インし戻したため、ブロック２０８では不整合は検出されない。しかし、ユーザＡがブロック１０６でファイル「Ｎｅｗｆｍ．ｃ」をチェック・インしようとしたとき、データベースに入っているそのバージョンにはユーザＢの変更が含まれており、ユーザＡのバージョンと整合せず、ブロック１０８で不整合が検出される。
【００１４】
同様に、ユーザＡとユーザＣは両方ともブロック１０２、１０４および３０２、３０４でそれぞれ「Ｇｌｏｂｖａｒ．ｃ」をチェック・アウトし、修正した。この場合も、ユーザＣがブロック３０６で最初に「Ｇｌｏｂｖａｒ．ｃ」をチェック・インし戻すため、ブロック３０８では不整合は検出されない。ユーザＡがブロック１０６で「Ｇｌｏｂｖａｒ．ｃ」をチェック・インしようとすると、ブロック１０８で不整合になる。ユーザＡはブロック１１０で２つの不整合を処理しなければならない。
【００１５】
それに対して、ユーザＢとＣの両方によってチェック・アウトされた「ｆｉｌｅ８．ｃ」は、ユーザＢによってのみ修正されている。ユーザＣはこのファイルをまったく変更を加えずにブロック３０６でチェック・インし戻し、最初のチェック・インであったためにブロック３０８で不整合は生じない。ユーザＢがブロック２０６で「ｆｉｌｅ８．ｃ」をチェック・インするとき、ユーザＣはこのファイルを変更していなかったためにブロック２０８で不整合は検出されない。
【００１６】
以下で、まず従来技術の不整合処理手続きを使用し、次に従来技術の外部ファイル・マージ・ツールを使用し、最後に本明細書で「複数不整合ハンドラ（ＭＣＨ）」と呼ぶ本発明を使用して、ユーザＡがこの２つの不整合をどのように処理するかを説明する。２つの不整合しか扱わない事例はきわめて単純な例であり、単にこの概念を例示するために用いるに過ぎないことを理解されたい。多数の開発者とファイルを含む大規模な開発作業では、開発者が大きなファイル・セットをチェック・インしようとすると複数の不整合が生じる。好ましい実施形態では、様々な色を使用して、整合させる様々なバージョンを示す。しかし、図面の制約により、グレイアウト領域はクロスハッチで示し、第１のバージョンを斜線で示し、第２のバージョンを逆斜線で示す。
【００１７】
従来技術の不整合処理手続きを使用する第１の例では、不整合が検出されると、不整合が発生したというメッセージがユーザＡに与えられる。ユーザはメニューバーをナビゲートして（すなわち「Ｐａｒｔｓ（パーツ）」−−＞「Ｃｏｌｌｉｓｉｏｎ  ｒｅｃｏｒｄｓ．．．（不整合記録）」）不整合記録のリストのあるダイアログを表示し、不整合記録を選択し、使用するファイルのバージョンを指定するか、ファイルをマージするように指定する。「Ｍｅｒｇｅ（マージ）」を指定した場合、ファイルが表示されてその相違がハイライトされたウィンドウが表示される。（注：ユーザが実際にファイルをマージする意図がない場合であっても、マージ・オプションはファイルを比較してどのファイルを実際にチェック・インするかを決める唯一の方法である。その場合、ユーザはメニューバーをナビゲートしてその不整合を再選択し、どのファイルを使用するかを指定することになる。）ファイルをマージするには、ユーザＡは対象（すなわちデータベースにチェック・インするファイル）から除外するコードのブロックまたは行をマークし、次にその結果のファイルを保管し、チェック・インする。第２の不整合を処理するには、ユーザＡは、再びメニューバーをナビゲート（「Ｐａｒｔｓ（パーツ）」−−＞「Ｃｏｌｌｉｓｉｏｎ  ｒｅｃｏｒｄｓ．．．（不整合記録）」、リストから他の不整合を選択するというように、もう一度最初からやり直さなければならない。検出された各不整合について、すなわち相違のある各ファイルの対ごとにこのプロセスを繰り返さなければならない。したがって、この従来技術の手続きは時間がかかり過ぎる。
【００１８】
従来技術の外部ツールを使用する場合、ユーザＡは不整合があることを通知されて、不整合のリストを表示するためにやはりメニューバーをナビゲートしなければならない。不整合を生じさせるファイルを比較するために、ユーザは外部ツールを呼び出し、ローカル・ファイル（すなわちチェック・インしようとするファイル）を開き、データベース・バージョンを探し出し、外部ツール内でそのバージョンを開く。この時点で、ユーザＡはマージせずに２つのバージョンのうちの一方を使用することを決定することができ、不整合のリストに戻ることによってどのバージョンを使用するかを選択することができる。ファイルをマージするには、ユーザはハイライトされた各相違のどのバージョンを対象のために使用するかを選択しなければならない。次に、このマージされたファイルを新しいローカル・ファイルとして保管することができ、ユーザＡがそれをチェック・インするときに、別の不整合が発生する。今度は、ユーザは不整合リストをもう一度ナビゲートし、その新たな不整合を選択し、新たにマージされたバージョンを使用ファイルとして選択することになる。（注：元の不整合をまずリストからクリアしておかなければならない。これは、元の不整合を選択し、データベース・バージョンを選択することによって行うことができる。しかし、これはマージされたバージョンをチェック・インする前に行わなければならない。）この場合も、この方法は時間がかかり過ぎるだけでなく複雑過ぎる。
【００１９】
本発明による複数不整合ハンドラ（ＭＣＨ）は、このメニューバー・ナビゲーションのすべての反復と、従来技術の方法に見られるすべての明示的ファイル操作を回避する。不整合が検出されると、ＭＣＨが自動的に呼び出される。図３に、参照番号３２０で全般的に識別された複数不整合ハンドラの初期状態を示す。左上の画面区画３２２に、作業領域の統合によって生じるＣｏｌｌｉｓｉｏｎ  Ｒｅｃｏｒｄｓがリストされる。この場合は、参照番号３２４で識別されるファイル「Ｎｅｗｆｍ．ｃ」上での不整合と、参照番号３２６で識別されるファイル「Ｇｌｏｂｖａｒ．ｃ」上での不整合がある。右上の画面区画３２８に、第１の不整合に関する情報、たとえば相違の数、そのパートを最後にチェック・インした人と日時などがリストされる。
【００２０】
上部画面区画の下にあるボタンによって、ユーザが不整合を解決するために使用することができるビューを制御する。分割ビュー・ボタン３３０は、異なるパートを左右に並べたビューを表示する。複合ビュー・ボタン３３２は割り込ませたビューを表示する。分割−マージ・ビュー・ボタン３３４はパート・バージョンを上下に並べたビューを、マージ作業の結果または対象と共に表示する。複合−マージ・ビュー・ボタン３３６は、パートを割り込ませたビューをマージ対象と共に表示する。図３には複合−マージ・ビューが選択されて表示されている。
【００２１】
「Ｎｅｘｔ  Ｄｉｆｆｅｒｅｎｃｅ（次の相違）」ボタン３４０と「Ｐｒｅｖｉｏｕｓ  Ｄｉｆｆｅｒｅｎｃｅ（前の相違）」ボタン３４２によって、ユーザはパート・バージョン内で検出された相違間を移動することができる。「Ｅｄｉｔ（編集）」ボタン３４４で、ユーザはＭｅｒｇｅ  Ｔａｒｇｅｔ（マージ対象）内の選択された行を編集することができ、「Ｕｓｅ  Ｍｅｒｇｅ  ｔａｒｇｅｔ（マージ対象の使用）」ボタン３４６はすべての相違が解決されるとアクティブになる。
【００２２】
図４に、参照番号４００によって全体的に示された「分割−マージ」ビューを図示する。２つのパート／ファイル・バージョンが、上下に並んだビューで「Ｍｅｒｇｅ  Ｔａｒｇｅｔ（マージ対象）」と共に表示されている。図５に、参照番号５００で全体的に示された複合ビューを示す。このビューでは、パート・バージョンを割り込ませて表示され、Ｍｅｒｇｅ  Ｔａｒｇｅｔ（マージ対象）は表示されていない。ボタン５０２および５０４によって、ユーザはバージョンのうちの一方（「データベース」または「ローカル」）を選択することができる。図６に参照番号６００で全体的に示された分割ビューを図示する。このビューでは、バージョンが左右に並べて表示され、バージョンを選択するために使用することができるボタン６０２および６０４が表示される。
【００２３】
図７には、参照番号７００で全体的に示された複合−マージ・ビューが再び図示されており、「Ｍｅｒｇｅ  Ｔａｒｇｅｔ（マージ対象）」７０４にすでに項目７０２（行１４）が示されている。ユーザが相違を解決したいバージョンを選択した後、「Ｍｅｒｇｅ  Ｔａｒｇｅｔ（マージ対象）」が自動的に記入され、ビューは次の相違に進められる。ソースは特定の色（この例ではハッチングで示されている）であり、マージ対象に伝えられる。図７の例を続けて、図８に、すべての相違が解決された様子と、「Ｍｅｒｇｅ  Ｔａｒｇｅｔ（マージ対象）」７０４内の項目の出所と、不整合を解決する「Ｍｅｒｇｅ  Ｔａｒｇｅｔ（マージ対象）」を選択するためにボタン８０６がアクティブ化された状態を示す。さらに、図９に、ユーザが「Ｕｓｅ  Ｍｅｒｇｅ  Ｔａｒｇｅｔ（マージ対象の使用）」ボタン８０６を選択した後の状態を示す。「Ｃｏｌｌｉｓｉｏｎ  ｒｅｃｏｒｄｓ（不整合記録）」画面区画９０４内のアイコン９０２と「Ｄｅｓｃｒｉｐｔｉｏｎ（説明）」画面区画９０８内のアイコン９０６が変更され、「Ｍｅｒｇｅ  Ｔａｒｇｅｔ（マージ対象）」を使用してその不整合を解決することを示している。ユーザはその後次の不整合について作業することができる。
【００２４】
図１０ないし図１２のフローチャートに、本発明の流れの概要を示す。本発明はブロック９４０で、変更が加えられた作業領域をユーザが組み込もうとすると開始される。次にブロック９４２でシステムは不整合がないか検査し、決定ブロック９４４で不整合が検出されたかどうかを判断する。決定ブロック９４４の応答が否定の場合、本発明は９４６で終了する。決定ブロック９４４の応答が肯定の場合（不整合が検出された）、ブロック９４８でシステムはユーザに警告を出し、ユーザに対して意志決定を要求する。
【００２５】
次に、決定ブロック９５０で、ユーザが相違を整合させたいかどうかが判断される。決定ブロック９５０の応答が否定の場合、本発明は９５２で終了する。決定ブロック９５０の応答が肯定の場合（ユーザは不整合を整合させることを決定）、ブロック９５４でシステムは不整合記録のリストに値を入れ、ファイルの一時コピーを作成し、相違を調べるためにファイルを解析する。ブロック９５６で、デフォルト・ビューにリストが表示される。ブロック９５８で、ユーザは必要に応じてビューを変更し、データベース・バージョンまたはローカル・バージョンのどちらかをそのまま使用するか、あるいは２つのバージョンをマージするかを決定する。
【００２６】
次に、決定ブロック９６０で、ユーザが２つのバージョンをマージすることに決定したかどうかが判断される。決定ブロック９６０の応答が否定（ユーザがローカル・バージョンまたはデータベース・バージョンを選択した）の場合、不整合記録が解決されたものとしてマークされ、それに従ってアイコンがそのバージョンの出所を示すように変更され、本発明は後で詳述するように決定ブロック９６２に進む。
【００２７】
決定ブロック９６０の応答が肯定（ユーザが２つのバージョンをマージする）の場合、ブロック９６４でシステムは相違をハイライトし、次の相違を選択のために強調する。ブロック９６６でユーザはその相違のデータベース・バージョンまたはローカル・バージョンを選択し、ブロック９６８でシステムはそれを「Ｍｅｒｇｅ  Ｔａｒｇｅｔ（マージ対象）」に入れ、出所を示す色が保持される。次にユーザは所望の場合は「Ｅｄｉｔ（編集）」ボタンを選択してその行を編集する。次に、決定ブロック９７０で、それが解決する最後の相違であったかどうかが判断される。決定ブロック９７０の応答が否定の場合、本発明は前述のようにブロック９６４に戻る。
【００２８】
決定ブロック９７０の応答が肯定の場合、ブロック９７２でシステムは「Ｕｓｅ  Ｍｅｒｇｅ  Ｔａｒｇｅｔ（マージ対象の使用）」ボタンをアクティブにする。ブロック９７４でユーザが「Ｕｓｅ  Ｍｅｒｇｅ  Ｔａｒｇｅｔ（マージ対象の使用）」ボタンを選択すると、ブロック９７６で不整合記録が解決済みとしてマークされ、アイコンが変更されて解決がマージによるものであったことが示される。ブロック９７６または決定ブロック９６０の後、決定ブロック９６２でそれが最後の不整合であるかどうかが判断される。決定ブロック９６２の応答が否定の場合、本発明は前述のようにブロック９５６に戻る。決定ブロック９６２の応答が肯定の場合、決定ブロック９７８でその作業領域を組み込むかどうかが判断される。決定ブロック９７８の応答が否定の場合、本発明は９４６で終了する。決定ブロック９７８の応答が肯定の場合、９８０でシステムはその作業領域をコード・ベースに組み込み、９４６で終了する。
【００２９】
本発明の結果、プログラミング環境においていくつかのファイル・セットをマージする問題が解決される。本発明の以前には、ユーザは使用可能なツールを使用して一度に１セットのファイルをマージすることができるに過ぎなかった。ユーザは、手作業でセットの数を判断し、それらをすべて調べ、追跡する必要があった。これは、時間がかかり、誤りを起こしやすかった。
【００３０】
本明細書に記載の解決策は、整合させなければならないファイル・セット（不整合）をリストし、それらを不整合ハンドラにロードすることである。次に、ユーザはリストを調べ、必要に応じて、ファイルの１つを選択するか、または選択と修正によってファイルのうちのいくつかのファイルをマージすることによって相違を解決する。ユーザには、ビュー（分割、複合、分割−マージ、複合−マージ）を迅速に切り替えることができるようにするボタンが提供される。これによって、ユーザはファイルをいくつかの異なる方法で見ることができ、処理がさらに容易になる。
【００３１】
まとめとして、本発明の構成に関して以下の事項を開示する。
【００３２】
（１）コンピュータ・ファイルのセットの複数の様々なバージョンをマージする方法であって、
コンピュータ・ファイルの前記セットの複数の様々なバージョンを自動的に不整合ハンドラにロードするステップと、
前記バージョンを前記不整合ハンドラによって表示するステップと、
前記バージョンのうちの好ましい１つのバージョンをグラフィカルに表示することによって前記バージョン間の相違を解決するステップとを含む方法。
（２）表示する前記ステップが、
前記バージョンを分割ビューで表示するステップをさらに含む、上記（１）に記載の方法。
（３）表示する前記ステップが、
前記バージョンを複合ビューで表示するステップをさらに含む、上記（１）に記載の方法。
（４）表示する前記ステップが、
前記バージョンを分割−マージ・ビューで表示するステップをさらに含む、上記（１）に記載の方法。
（５）表示する前記ステップが、
前記バージョンを複合−マージ・ビューで表示するステップをさらに含む、上記（１）に記載の方法。
（６）コンピュータ・ファイルのセットの複数の様々なバージョンをマージするシステムであって、
コンピュータ・ファイルの前記セットの複数の様々なバージョンを自動的に不整合ハンドラにロードする手段と、
前記バージョンを前記不整合ハンドラによって表示する手段と、
前記バージョンのうちの好ましい１つのバージョンをグラフィカルに表示することによって前記バージョン間の相違を解決する手段とを含むシステム。
（７）表示する前記手段が、
前記バージョンを分割ビューで表示する手段をさらに含む、上記（６）に記載のシステム。
（８）表示する前記手段が、
前記バージョンを複合ビューで表示する手段をさらに含む、上記（６）に記載のシステム。
（９）表示する前記手段が、前記バージョンを分割−マージ・ビューで表示する手段をさらに含む、上記（６）に記載のシステム。
（１０）表示する前記手段が、
前記バージョンを複合−マージ・ビューで表示する手段をさらに含む、上記（４）に記載のシステム。
（１１）コンピュータ・ファイルのセットの複数の様々なバージョンをマージする、コンピュータ可読媒体上に記録されたコンピュータ・プログラム製品であって、
コンピュータ・ファイルの前記セットの複数の様々なバージョンを自動的に不整合ハンドラにロードするコンピュータ可読手段と、
前記バージョンを前記不整合ハンドラによって表示するコンピュータ可読手段と、
前記バージョンのうちの好ましい１つのバージョンをグラフィカルに表示することによって前記バージョン間の相違を解決するコンピュータ可読手段とを含むコンピュータ・プログラム製品。
（１２）表示する前記コンピュータ可読手段が、
前記バージョンを分割ビューで表示するコンピュータ可読手段をさらに含む、上記（１１）に記載のプログラム製品。
（１３）表示する前記コンピュータ可読手段が、
前記バージョンを複合ビューで表示するコンピュータ可読手段をさらに含む、上記（１１）に記載のプログラム製品。
（１４）表示する前記コンピュータ可読手段が、前記バージョンを分割−マージ・ビューで表示するコンピュータ可読手段をさらに含む、上記（１１）に記載のプログラム製品。
（１５）表示する前記コンピュータ可読手段が、
前記バージョンを複合−マージ・ビューで表示するコンピュータ可読手段をさらに含む、上記（１１）に記載のプログラム製品。
【図面の簡単な説明】
【図１】本発明の方法およびシステムを実施するために使用可能なデータ処理システムを示す図である。
【図２】本発明による、ファイルを数人のユーザが並行して修正する一事例を示す図である。
【図３】本発明による、複合−マージ・ビューにおける不整合ハンドラを示す図である。
【図４】本発明による、分割−マージ・ビューにおける不整合ハンドラを示す図である。
【図５】本発明による、複合ビューにおける不整合ハンドラを示す図である。
【図６】本発明による、分割ビューにおける不整合ハンドラを示す図である。
【図７】本発明による、マテリアルをマージ対象に直接挿入する不整合ハンドラを示す図である。
【図８】本発明による、解決されたすべての相違を示す不整合ハンドラの図である。
【図９】本発明による、不整合を解決するマージ済み対象の選択を示す不整合ハンドラの図である。
【図１０】本発明の高水準フローチャートである。
【図１１】本発明の高水準フローチャートである。
【図１２】本発明の高水準フローチャートである。
【符号の説明】
８  データ処理システム
１０  ローカル・エリア・ネットワーク
１２  コンピュータ
１４  記憶装置
１６  出力装置
１７  マウス
１８  メインフレーム・コンピュータ
２０  記憶装置
２２  通信リンク
２４  通信リンク
２６  サブシステム制御装置／通信制御装置
２８  ゲートウェイ・サーバ
３０  コンピュータ
３２  ローカル・エリア・ネットワーク
【図１】
0003628522.tif 000002
【図２】
0003628522.tif 000003
【図３】
0003628522.tif 000004
【図４】
0003628522.tif 000005
【図５】
0003628522.tif 000006
【図６】
0003628522.tif 000007
【図７】
0003628522.tif 000008
【図８】
0003628522.tif 000009
【図９】
0003628522.tif 000010
【図１０】
0003628522.tif 000011
【図１１】
0003628522.tif 000012
【図１２】
0003628522.tif 000013