JP3628522B2 - ファイル・セットのバージョンをマージする方法およびシステム - Google Patents
ファイル・セットのバージョンをマージする方法およびシステム Download PDFInfo
- Publication number
- JP3628522B2 JP3628522B2 JP24792298A JP24792298A JP3628522B2 JP 3628522 B2 JP3628522 B2 JP 3628522B2 JP 24792298 A JP24792298 A JP 24792298A JP 24792298 A JP24792298 A JP 24792298A JP 3628522 B2 JP3628522 B2 JP 3628522B2
- Authority
- JP
- Japan
- Prior art keywords
- view
- versions
- merge
- version
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99954—Version management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
- User Interface Of Digital Computer (AREA)
Description
【発明の属する技術分野】
本発明は、一般にはコンピュータ・ソフトウェアに関し、詳細には、様々なバージョンを整合させることができるようにするために、同時に数人の異なる人物によってファイルが変更/更新されたことをユーザに自動的に通知する方法およびシステムに関する。
【0002】
【従来の技術】
プログラミング環境では、プログラマは新しいプログラムを作成し、変更/更新またはデバッグするためにファイルをチェック・アウトすることがある。ライブラリ・タイプの記憶システムを使用する場合、これは同時に数人の異なるプログラマによってこれが行われることがある。したがって、各プログラマが1つまたは複数の変更を行った場合、他のプログラマは何が行われたかがわからないことがある。様々なプログラマからファイルがライブラリに返される場合、単一の正しい更新済みバージョンは存在しないことになる。
【0003】
現在、ユーザが一度に1セットの変更済みファイルをマージすることができるようにするツールがあるが、ユーザは何セットあるかを判断し、手作業でそれら全体をくまなく調べて変更を追跡する必要がある。明らかに、これは時間がかかり、誤りが生じやすい。他のツールは、更新の必要がある該当するすべてのファイル・セットを自動的に判断するが、ユーザはやはりそれらのセット全体を手作業で調べなければならない。
【0004】
【発明が解決しようとする課題】
したがって、ファイルの更新バージョンの選択とその中にある不整合の解決を自動的に行う方法およびシステムが必要である。
【0005】
【課題を解決するための手段】
本発明は、コンピュータ・ファイルのセットの複数の様々なバージョンをマージし、それによって従来の技術に付随する問題を軽減する方法およびシステムに関する。本発明によって、ユーザは変更が必要と考えられる箇所を手作業で追跡する必要なしに、不整合のある特有なバージョンを視覚的に選択することができる。
【0006】
本発明の一実施形態によると、コンピュータ・ファイルの複数の様々なバージョンがマージされる。複数の様々なバージョンの各バージョンを自動的に不整合ハンドラにロードする。次にこれらの様々なバージョンを不整合ハンドラによってユーザに表示する。ユーザは様々なバージョン間に相違があれば、それらのバージョンのうちの好ましい1つのバージョンを視覚的に選択することによってその相違を解決する。
【0007】
これらのバージョンは、ユーザ・インタフェースに従って複数のビューのうちのいずれかでユーザに表示することができる。これらのビューは、分割、複合、分割−マージ、および複合−マージである。
【0008】
本明細書に記載の解決策は、整合させる必要があるファイル・セット(不整合)をリストし、それらを不整合ハンドラにロードする。次に、ユーザはそのリスト全体を調べ、必要に応じて、ファイルの1つを選択することによって、または選択と修正によりいくつかのファイルをマージすることによって相違を解決する。ユーザには、ビュー(分割、複合、分割−マージ、複合−マージ)を迅速に切り替えることができるボタンが提供される。これによって、ユーザはファイルをいくつかの異なる方法で見ることができ、この処理がさらに容易になる。
【0009】
【発明の実施の形態】
図1を参照すると、本発明を実施するために使用することができるデータ処理システム8の図が図示されている。図のように、データ処理システム8は、ローカル・エリア・ネットワーク(LAN)10および32などの複数のネットワークを含むことができ、各ネットワークはそれぞれ複数の個別のコンピュータ12および30を含むことが好ましい。当然ながら、当業者なら、ホスト・プロセッサに結合された複数のインテリジェント・ワークステーション(IWS)をこのような各ネットワークに使用可能であることがわかるであろう。各前記ネットワークは、共用メモリ、共用記憶装置、または相互接続ネットワークなどの通信媒体を介して結合された複数のプロセッサで構成することもできる。このようなデータ処理システムで一般的に行われているように、個々の各コンピュータは記憶装置14やプリンタ/出力装置16に結合することができ、マウス17などのポインティング・デバイスを備えることができる。
【0010】
データ処理システム8は、メインフレーム・コンピュータ18などの複数のメインフレーム・コンピュータも含むことができ、これは通信リンク22によってLAN10に結合されることが好ましい。メインフレーム・コンピュータ18は記憶装置20にも結合することができ、記憶装置20はLAN10の遠隔記憶装置の役割を果たす。同様に、LAN10は通信リンク24を介し、サブシステム制御装置/通信制御装置26と通信リンク34を介してゲートウェイ・サーバ28に結合することができる。ゲートウェイ・サーバ28は、LAN32をLAN10にリンクする機能を果たすIWSであることが好ましい。
【0011】
LAN32およびLAN10に関して、複数の文書または資源オブジェクトを記憶装置20に記憶し、記憶された資源オブジェクトの資源マネージャまたはライブラリ・サービスとして、メインフレーム・コンピュータ18によって制御することができる。当然ながら、当業者ならメインフレーム・コンピュータ18はLAN10から地理的に遠距離に配置することができ、同様にLAN10はLAN32から遠距離に配置することができることがわかるであろう。たとえば、LAN32を米国のカリフォルニア州に置き、LAN10をノースカロライナ州に置き、メインフレーム・コンピュータ18をニューヨークに置くことができる。
【0012】
本発明を使用するソフトウェア・プログラム・コードは、典型的には開発者がそこから配布のためにそのコードにアクセスすることができるスタンド・アロン型ワークステーションまたはLANサーバの記憶装置14のメモリに記憶される。このソフトウェア・プログラム・コードは、ディスケットやCD−ROMなどのデータ処理システムと共に使用する様々な周知の媒体のいずれの媒体上でも実施可能であり、他のシステムのユーザが使用するように1つのコンピュータ・システムのメモリから何らかのタイプのネットワークを介して他のコンピュータ・システムのユーザに配布することもできる。媒体上にソフトウェア・コードを実施したりソフトウェア・コードを配布したりするこのような技法および方法は周知であり、本明細書では詳述しない。
【0013】
本発明を例示するために、図2に示すように、3人の開発者(ユーザA、ユーザB、およびユーザC)がファイルの共通プールを使用してタイムラインに沿って並列して作業する事例を使用する。それぞれブロック100、200、および300で各ユーザの作業領域を作成した後、それぞれブロック102、202、および302でユーザA、B、およびCがそれぞれファイルをチェック・アウトする。ファイルの1つ「Newfm.c」がユーザAとユーザBの両者によってチェック・アウトされている。さらに、「Newfm.c」はそれぞれブロック104および204でユーザAとユーザBの両者によって修正された。ユーザBはブロック206で最初にファイル「Newfm.c」をチェック・インし戻したため、ブロック208では不整合は検出されない。しかし、ユーザAがブロック106でファイル「Newfm.c」をチェック・インしようとしたとき、データベースに入っているそのバージョンにはユーザBの変更が含まれており、ユーザAのバージョンと整合せず、ブロック108で不整合が検出される。
【0014】
同様に、ユーザAとユーザCは両方ともブロック102、104および302、304でそれぞれ「Globvar.c」をチェック・アウトし、修正した。この場合も、ユーザCがブロック306で最初に「Globvar.c」をチェック・インし戻すため、ブロック308では不整合は検出されない。ユーザAがブロック106で「Globvar.c」をチェック・インしようとすると、ブロック108で不整合になる。ユーザAはブロック110で2つの不整合を処理しなければならない。
【0015】
それに対して、ユーザBとCの両方によってチェック・アウトされた「file8.c」は、ユーザBによってのみ修正されている。ユーザCはこのファイルをまったく変更を加えずにブロック306でチェック・インし戻し、最初のチェック・インであったためにブロック308で不整合は生じない。ユーザBがブロック206で「file8.c」をチェック・インするとき、ユーザCはこのファイルを変更していなかったためにブロック208で不整合は検出されない。
【0016】
以下で、まず従来技術の不整合処理手続きを使用し、次に従来技術の外部ファイル・マージ・ツールを使用し、最後に本明細書で「複数不整合ハンドラ(MCH)」と呼ぶ本発明を使用して、ユーザAがこの2つの不整合をどのように処理するかを説明する。2つの不整合しか扱わない事例はきわめて単純な例であり、単にこの概念を例示するために用いるに過ぎないことを理解されたい。多数の開発者とファイルを含む大規模な開発作業では、開発者が大きなファイル・セットをチェック・インしようとすると複数の不整合が生じる。好ましい実施形態では、様々な色を使用して、整合させる様々なバージョンを示す。しかし、図面の制約により、グレイアウト領域はクロスハッチで示し、第1のバージョンを斜線で示し、第2のバージョンを逆斜線で示す。
【0017】
従来技術の不整合処理手続きを使用する第1の例では、不整合が検出されると、不整合が発生したというメッセージがユーザAに与えられる。ユーザはメニューバーをナビゲートして(すなわち「Parts(パーツ)」−−>「Collision records...(不整合記録)」)不整合記録のリストのあるダイアログを表示し、不整合記録を選択し、使用するファイルのバージョンを指定するか、ファイルをマージするように指定する。「Merge(マージ)」を指定した場合、ファイルが表示されてその相違がハイライトされたウィンドウが表示される。(注:ユーザが実際にファイルをマージする意図がない場合であっても、マージ・オプションはファイルを比較してどのファイルを実際にチェック・インするかを決める唯一の方法である。その場合、ユーザはメニューバーをナビゲートしてその不整合を再選択し、どのファイルを使用するかを指定することになる。)ファイルをマージするには、ユーザAは対象(すなわちデータベースにチェック・インするファイル)から除外するコードのブロックまたは行をマークし、次にその結果のファイルを保管し、チェック・インする。第2の不整合を処理するには、ユーザAは、再びメニューバーをナビゲート(「Parts(パーツ)」−−>「Collision records...(不整合記録)」、リストから他の不整合を選択するというように、もう一度最初からやり直さなければならない。検出された各不整合について、すなわち相違のある各ファイルの対ごとにこのプロセスを繰り返さなければならない。したがって、この従来技術の手続きは時間がかかり過ぎる。
【0018】
従来技術の外部ツールを使用する場合、ユーザAは不整合があることを通知されて、不整合のリストを表示するためにやはりメニューバーをナビゲートしなければならない。不整合を生じさせるファイルを比較するために、ユーザは外部ツールを呼び出し、ローカル・ファイル(すなわちチェック・インしようとするファイル)を開き、データベース・バージョンを探し出し、外部ツール内でそのバージョンを開く。この時点で、ユーザAはマージせずに2つのバージョンのうちの一方を使用することを決定することができ、不整合のリストに戻ることによってどのバージョンを使用するかを選択することができる。ファイルをマージするには、ユーザはハイライトされた各相違のどのバージョンを対象のために使用するかを選択しなければならない。次に、このマージされたファイルを新しいローカル・ファイルとして保管することができ、ユーザAがそれをチェック・インするときに、別の不整合が発生する。今度は、ユーザは不整合リストをもう一度ナビゲートし、その新たな不整合を選択し、新たにマージされたバージョンを使用ファイルとして選択することになる。(注:元の不整合をまずリストからクリアしておかなければならない。これは、元の不整合を選択し、データベース・バージョンを選択することによって行うことができる。しかし、これはマージされたバージョンをチェック・インする前に行わなければならない。)この場合も、この方法は時間がかかり過ぎるだけでなく複雑過ぎる。
【0019】
本発明による複数不整合ハンドラ(MCH)は、このメニューバー・ナビゲーションのすべての反復と、従来技術の方法に見られるすべての明示的ファイル操作を回避する。不整合が検出されると、MCHが自動的に呼び出される。図3に、参照番号320で全般的に識別された複数不整合ハンドラの初期状態を示す。左上の画面区画322に、作業領域の統合によって生じるCollision Recordsがリストされる。この場合は、参照番号324で識別されるファイル「Newfm.c」上での不整合と、参照番号326で識別されるファイル「Globvar.c」上での不整合がある。右上の画面区画328に、第1の不整合に関する情報、たとえば相違の数、そのパートを最後にチェック・インした人と日時などがリストされる。
【0020】
上部画面区画の下にあるボタンによって、ユーザが不整合を解決するために使用することができるビューを制御する。分割ビュー・ボタン330は、異なるパートを左右に並べたビューを表示する。複合ビュー・ボタン332は割り込ませたビューを表示する。分割−マージ・ビュー・ボタン334はパート・バージョンを上下に並べたビューを、マージ作業の結果または対象と共に表示する。複合−マージ・ビュー・ボタン336は、パートを割り込ませたビューをマージ対象と共に表示する。図3には複合−マージ・ビューが選択されて表示されている。
【0021】
「Next Difference(次の相違)」ボタン340と「Previous Difference(前の相違)」ボタン342によって、ユーザはパート・バージョン内で検出された相違間を移動することができる。「Edit(編集)」ボタン344で、ユーザはMerge Target(マージ対象)内の選択された行を編集することができ、「Use Merge target(マージ対象の使用)」ボタン346はすべての相違が解決されるとアクティブになる。
【0022】
図4に、参照番号400によって全体的に示された「分割−マージ」ビューを図示する。2つのパート/ファイル・バージョンが、上下に並んだビューで「Merge Target(マージ対象)」と共に表示されている。図5に、参照番号500で全体的に示された複合ビューを示す。このビューでは、パート・バージョンを割り込ませて表示され、Merge Target(マージ対象)は表示されていない。ボタン502および504によって、ユーザはバージョンのうちの一方(「データベース」または「ローカル」)を選択することができる。図6に参照番号600で全体的に示された分割ビューを図示する。このビューでは、バージョンが左右に並べて表示され、バージョンを選択するために使用することができるボタン602および604が表示される。
【0023】
図7には、参照番号700で全体的に示された複合−マージ・ビューが再び図示されており、「Merge Target(マージ対象)」704にすでに項目702(行14)が示されている。ユーザが相違を解決したいバージョンを選択した後、「Merge Target(マージ対象)」が自動的に記入され、ビューは次の相違に進められる。ソースは特定の色(この例ではハッチングで示されている)であり、マージ対象に伝えられる。図7の例を続けて、図8に、すべての相違が解決された様子と、「Merge Target(マージ対象)」704内の項目の出所と、不整合を解決する「Merge Target(マージ対象)」を選択するためにボタン806がアクティブ化された状態を示す。さらに、図9に、ユーザが「Use Merge Target(マージ対象の使用)」ボタン806を選択した後の状態を示す。「Collision records(不整合記録)」画面区画904内のアイコン902と「Description(説明)」画面区画908内のアイコン906が変更され、「Merge Target(マージ対象)」を使用してその不整合を解決することを示している。ユーザはその後次の不整合について作業することができる。
【0024】
図10ないし図12のフローチャートに、本発明の流れの概要を示す。本発明はブロック940で、変更が加えられた作業領域をユーザが組み込もうとすると開始される。次にブロック942でシステムは不整合がないか検査し、決定ブロック944で不整合が検出されたかどうかを判断する。決定ブロック944の応答が否定の場合、本発明は946で終了する。決定ブロック944の応答が肯定の場合(不整合が検出された)、ブロック948でシステムはユーザに警告を出し、ユーザに対して意志決定を要求する。
【0025】
次に、決定ブロック950で、ユーザが相違を整合させたいかどうかが判断される。決定ブロック950の応答が否定の場合、本発明は952で終了する。決定ブロック950の応答が肯定の場合(ユーザは不整合を整合させることを決定)、ブロック954でシステムは不整合記録のリストに値を入れ、ファイルの一時コピーを作成し、相違を調べるためにファイルを解析する。ブロック956で、デフォルト・ビューにリストが表示される。ブロック958で、ユーザは必要に応じてビューを変更し、データベース・バージョンまたはローカル・バージョンのどちらかをそのまま使用するか、あるいは2つのバージョンをマージするかを決定する。
【0026】
次に、決定ブロック960で、ユーザが2つのバージョンをマージすることに決定したかどうかが判断される。決定ブロック960の応答が否定(ユーザがローカル・バージョンまたはデータベース・バージョンを選択した)の場合、不整合記録が解決されたものとしてマークされ、それに従ってアイコンがそのバージョンの出所を示すように変更され、本発明は後で詳述するように決定ブロック962に進む。
【0027】
決定ブロック960の応答が肯定(ユーザが2つのバージョンをマージする)の場合、ブロック964でシステムは相違をハイライトし、次の相違を選択のために強調する。ブロック966でユーザはその相違のデータベース・バージョンまたはローカル・バージョンを選択し、ブロック968でシステムはそれを「Merge Target(マージ対象)」に入れ、出所を示す色が保持される。次にユーザは所望の場合は「Edit(編集)」ボタンを選択してその行を編集する。次に、決定ブロック970で、それが解決する最後の相違であったかどうかが判断される。決定ブロック970の応答が否定の場合、本発明は前述のようにブロック964に戻る。
【0028】
決定ブロック970の応答が肯定の場合、ブロック972でシステムは「Use Merge Target(マージ対象の使用)」ボタンをアクティブにする。ブロック974でユーザが「Use Merge Target(マージ対象の使用)」ボタンを選択すると、ブロック976で不整合記録が解決済みとしてマークされ、アイコンが変更されて解決がマージによるものであったことが示される。ブロック976または決定ブロック960の後、決定ブロック962でそれが最後の不整合であるかどうかが判断される。決定ブロック962の応答が否定の場合、本発明は前述のようにブロック956に戻る。決定ブロック962の応答が肯定の場合、決定ブロック978でその作業領域を組み込むかどうかが判断される。決定ブロック978の応答が否定の場合、本発明は946で終了する。決定ブロック978の応答が肯定の場合、980でシステムはその作業領域をコード・ベースに組み込み、946で終了する。
【0029】
本発明の結果、プログラミング環境においていくつかのファイル・セットをマージする問題が解決される。本発明の以前には、ユーザは使用可能なツールを使用して一度に1セットのファイルをマージすることができるに過ぎなかった。ユーザは、手作業でセットの数を判断し、それらをすべて調べ、追跡する必要があった。これは、時間がかかり、誤りを起こしやすかった。
【0030】
本明細書に記載の解決策は、整合させなければならないファイル・セット(不整合)をリストし、それらを不整合ハンドラにロードすることである。次に、ユーザはリストを調べ、必要に応じて、ファイルの1つを選択するか、または選択と修正によってファイルのうちのいくつかのファイルをマージすることによって相違を解決する。ユーザには、ビュー(分割、複合、分割−マージ、複合−マージ)を迅速に切り替えることができるようにするボタンが提供される。これによって、ユーザはファイルをいくつかの異なる方法で見ることができ、処理がさらに容易になる。
【0031】
まとめとして、本発明の構成に関して以下の事項を開示する。
【0032】
(1)コンピュータ・ファイルのセットの複数の様々なバージョンをマージする方法であって、
コンピュータ・ファイルの前記セットの複数の様々なバージョンを自動的に不整合ハンドラにロードするステップと、
前記バージョンを前記不整合ハンドラによって表示するステップと、
前記バージョンのうちの好ましい1つのバージョンをグラフィカルに表示することによって前記バージョン間の相違を解決するステップとを含む方法。
(2)表示する前記ステップが、
前記バージョンを分割ビューで表示するステップをさらに含む、上記(1)に記載の方法。
(3)表示する前記ステップが、
前記バージョンを複合ビューで表示するステップをさらに含む、上記(1)に記載の方法。
(4)表示する前記ステップが、
前記バージョンを分割−マージ・ビューで表示するステップをさらに含む、上記(1)に記載の方法。
(5)表示する前記ステップが、
前記バージョンを複合−マージ・ビューで表示するステップをさらに含む、上記(1)に記載の方法。
(6)コンピュータ・ファイルのセットの複数の様々なバージョンをマージするシステムであって、
コンピュータ・ファイルの前記セットの複数の様々なバージョンを自動的に不整合ハンドラにロードする手段と、
前記バージョンを前記不整合ハンドラによって表示する手段と、
前記バージョンのうちの好ましい1つのバージョンをグラフィカルに表示することによって前記バージョン間の相違を解決する手段とを含むシステム。
(7)表示する前記手段が、
前記バージョンを分割ビューで表示する手段をさらに含む、上記(6)に記載のシステム。
(8)表示する前記手段が、
前記バージョンを複合ビューで表示する手段をさらに含む、上記(6)に記載のシステム。
(9)表示する前記手段が、前記バージョンを分割−マージ・ビューで表示する手段をさらに含む、上記(6)に記載のシステム。
(10)表示する前記手段が、
前記バージョンを複合−マージ・ビューで表示する手段をさらに含む、上記(4)に記載のシステム。
(11)コンピュータ・ファイルのセットの複数の様々なバージョンをマージする、コンピュータ可読媒体上に記録されたコンピュータ・プログラム製品であって、
コンピュータ・ファイルの前記セットの複数の様々なバージョンを自動的に不整合ハンドラにロードするコンピュータ可読手段と、
前記バージョンを前記不整合ハンドラによって表示するコンピュータ可読手段と、
前記バージョンのうちの好ましい1つのバージョンをグラフィカルに表示することによって前記バージョン間の相違を解決するコンピュータ可読手段とを含むコンピュータ・プログラム製品。
(12)表示する前記コンピュータ可読手段が、
前記バージョンを分割ビューで表示するコンピュータ可読手段をさらに含む、上記(11)に記載のプログラム製品。
(13)表示する前記コンピュータ可読手段が、
前記バージョンを複合ビューで表示するコンピュータ可読手段をさらに含む、上記(11)に記載のプログラム製品。
(14)表示する前記コンピュータ可読手段が、前記バージョンを分割−マージ・ビューで表示するコンピュータ可読手段をさらに含む、上記(11)に記載のプログラム製品。
(15)表示する前記コンピュータ可読手段が、
前記バージョンを複合−マージ・ビューで表示するコンピュータ可読手段をさらに含む、上記(11)に記載のプログラム製品。
【図面の簡単な説明】
【図1】本発明の方法およびシステムを実施するために使用可能なデータ処理システムを示す図である。
【図2】本発明による、ファイルを数人のユーザが並行して修正する一事例を示す図である。
【図3】本発明による、複合−マージ・ビューにおける不整合ハンドラを示す図である。
【図4】本発明による、分割−マージ・ビューにおける不整合ハンドラを示す図である。
【図5】本発明による、複合ビューにおける不整合ハンドラを示す図である。
【図6】本発明による、分割ビューにおける不整合ハンドラを示す図である。
【図7】本発明による、マテリアルをマージ対象に直接挿入する不整合ハンドラを示す図である。
【図8】本発明による、解決されたすべての相違を示す不整合ハンドラの図である。
【図9】本発明による、不整合を解決するマージ済み対象の選択を示す不整合ハンドラの図である。
【図10】本発明の高水準フローチャートである。
【図11】本発明の高水準フローチャートである。
【図12】本発明の高水準フローチャートである。
【符号の説明】
8 データ処理システム
10 ローカル・エリア・ネットワーク
12 コンピュータ
14 記憶装置
16 出力装置
17 マウス
18 メインフレーム・コンピュータ
20 記憶装置
22 通信リンク
24 通信リンク
26 サブシステム制御装置/通信制御装置
28 ゲートウェイ・サーバ
30 コンピュータ
32 ローカル・エリア・ネットワーク
Claims (3)
- コンピュータ・ファイルのセットの複数の様々なバージョンをマージする方法であって、
コンピュータ・ファイルの前記セットの複数の様々なバージョンを自動的に不整合ハンドラにロードするステップと、
不整合が前記不整合ハンドラによって検出された前記複数の様々なバージョンのコンピュータ・ファイルの前記データを同時に表示するステップであって、前記バージョンの前記データ間の相違を強調できる、ステップと、
前記バージョンから前記表示されたデータのユーザによる1つの表示選択に応答して、前記バージョンの間の第1の相違を解決するステップと、
前記ユーザによって選択された前記解決された相違を含む、前記ロードされたコンピュータ・ファイルのバージョンを記憶するステップと、
を含み、
前記表示するステップが、複数のビュー・オプションを表示するステップであって、前記バージョンを分割ビュー、複合ビュー、分割 - マージ・ビュー、または複合 - マージ・ビューのいずれかのビューで表示するステップをさらに含み、前記分割ビューが、前記複数のビュー・オプションが異なるパートを左右に並べたビューであり、前記複合ビューが、前記ビュー・オプションが複数のバージョンを割り込ませたビューであり、前記分割 - マージ・ビューが、前記複数のビュー・オプションがパート・バージョンを上下に並べたビューをマージ作業の結果または対象とともに表示するビューであり、前記複合 - マージ・ビューが、前記複数のビュー・オプションがパート・バージョンを割り込ませたビューである、
方法。 - コンピュータ・ファイルのセットの複数の様々なバージョンをマージするシステムであって、
コンピュータ・ファイルの前記セットの複数の様々なバージョンを自動的に不整合ハンドラにロードする手段と、
不整合が前記不整合ハンドラによって検出された前記複数の様々なバージョンのコンピュータ・ファイルの前記データを同時に表示する手段であって、前記バージョンの前記データ間の相違を強調できる、手段と、
前記バージョンからの前記表示されたデータのユーザによる1つの表示選択に応答して、前記バージョン間の第1の相違を解決する手段と、
前記ユーザによって選択された前記解決された相違を含む、前記ロードされたコンピュータ・ファイルのバージョンを記憶する手段と、
を含み、
前記表示する手段が、複数のビュー・オプションを表示する手段であって、前記バージョンを分割ビュー、複合ビュー、分割 - マージ・ビュー、または複合 - マージ・ビューのいずれかのビューで表示する手段をさらに含み、前記分割ビューが、前記複数のビュー・オプションが異なるパートを左右に並べたビューであり、前記複合ビューが、前記ビュー・オプションが複数のバージョンを割り込ませたビューであり、前記分割 - マージ・ビューが、前記複数のビュー・オプションがパート・バージョンを上下に並べたビューをマージ作業の結果または対象とともに表示するビューであり、前記複合 - マージ・ビューが、前記複数のビュー・オプションがパート・バージョンを割り込ませたビューである、
システム。 - コンピュータ・ファイルのセットの複数の様々なバージョンをマージするコンピュープログラムを記憶したコンピュータ・プログラム記憶媒体であって、
コンピュータ・ファイルの前記セットの複数の様々なバージョンを自動的に不整合ハンドラにロードするステップと、
不整合が前記不整合ハンドラによって検出された前記複数の様々なバージョンのコンピュータ・ファイルの前記データを同時に表示するステップであって、前記バージョンの前記データ間の相違を強調できる、ステップと、
前記バージョンからの前記表示されたデータのユーザによる1つの表示選択に応答して、前記バージョン間の第1の相違を解決するステップと、
前記ユーザによって選択された前記解決された相違を含む、前記ロードされたコンピュータ・ファイルのバージョンを記憶するステップと、
を含み、
前記表示するステップが、複数のビュー・オプションを表示するステップであって、前記バージョンを分割ビュー、複合ビュー、分割 - マージ・ビュー、または複合 - マージ・ビューのいずれかのビューで表示するステップをさらに含み、前記分割ビューが、前記複数のビュー・オプションが異なるパートを左右に並べたビューであり、前記複合ビューが、前記ビュー・オプションが複数のバージョンを割り込ませたビューであり、前記分割 - マージ・ビューが、前記複数のビュー・オプションがパート・バージョンを上下に並べたビューをマージ作業の結果または対象とともに表示するビューであり、前記複合 - マージ・ビューが、前記複数のビュー・オプションがパート・バージョンを割り込ませたビューである、
コンピュータ・プログラム記憶媒体。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/923,910 US6226652B1 (en) | 1997-09-05 | 1997-09-05 | Method and system for automatically detecting collision and selecting updated versions of a set of files |
| US08/923910 | 1997-09-05 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH11154108A JPH11154108A (ja) | 1999-06-08 |
| JP3628522B2 true JP3628522B2 (ja) | 2005-03-16 |
Family
ID=25449459
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP24792298A Expired - Fee Related JP3628522B2 (ja) | 1997-09-05 | 1998-09-02 | ファイル・セットのバージョンをマージする方法およびシステム |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US6226652B1 (ja) |
| EP (1) | EP0907125A3 (ja) |
| JP (1) | JP3628522B2 (ja) |
Families Citing this family (77)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7085729B1 (en) | 1995-06-16 | 2006-08-01 | I2 Technologies Us, Inc. | System and method for allocating manufactured products to sellers |
| US6188989B1 (en) | 1995-06-16 | 2001-02-13 | I2 Technologies, Inc. | System and method for managing available to promised product (ATP) |
| US7388092B2 (en) * | 1996-05-03 | 2008-06-17 | Applera Corporation | Oligonucleotides and analogs labeled with energy transfer dyes |
| US6367075B1 (en) | 1996-07-24 | 2002-04-02 | Marimba, Inc. | Method and apparatus for producing instructions describing the removal of updates to a computer system |
| US6738970B1 (en) | 1999-06-30 | 2004-05-18 | Marimba, Inc. | Method and apparatus for identifying changes made to a computer system due to software installation |
| US6658626B1 (en) * | 1998-07-31 | 2003-12-02 | The Regents Of The University Of California | User interface for displaying document comparison information |
| CA2255047A1 (en) * | 1998-11-30 | 2000-05-30 | Ibm Canada Limited-Ibm Canada Limitee | Comparison of hierarchical structures and merging of differences |
| US7296037B1 (en) * | 1999-01-21 | 2007-11-13 | Microsoft Corporation | Database item versioning |
| US7062456B1 (en) | 1999-02-09 | 2006-06-13 | The Chase Manhattan Bank | System and method for back office processing of banking transactions using electronic files |
| WO2000068793A1 (en) * | 1999-05-10 | 2000-11-16 | Handsfree Networks, Inc. | System for automated problem detection, diagnosis, and resolution in a software driven system |
| US6742141B1 (en) | 1999-05-10 | 2004-05-25 | Handsfree Networks, Inc. | System for automated problem detection, diagnosis, and resolution in a software driven system |
| US6636244B1 (en) * | 1999-09-13 | 2003-10-21 | International Business Machines Corporation | Pointing device selection method |
| US6757893B1 (en) * | 1999-12-17 | 2004-06-29 | Canon Kabushiki Kaisha | Version control system for software code |
| US20050010652A1 (en) * | 2000-06-22 | 2005-01-13 | Ideogram Design S.A.R.L. | Process and device for selective download of data based on index file transmitted from a central server |
| US7328211B2 (en) | 2000-09-21 | 2008-02-05 | Jpmorgan Chase Bank, N.A. | System and methods for improved linguistic pattern matching |
| US7249044B2 (en) * | 2000-10-05 | 2007-07-24 | I2 Technologies Us, Inc. | Fulfillment management system for managing ATP data in a distributed supply chain environment |
| US7065499B1 (en) | 2001-03-19 | 2006-06-20 | I2 Technologies Us, Inc. | Intelligent order promising |
| US7043444B2 (en) | 2001-04-13 | 2006-05-09 | I2 Technologies Us, Inc. | Synchronization of planning information in a high availability planning and scheduling architecture |
| US7024371B2 (en) * | 2001-04-13 | 2006-04-04 | I2 Technologies Us, Inc. | High availability planning and scheduling architecture |
| EP1265156A3 (en) * | 2001-06-04 | 2006-01-25 | Sun Microsystems, Inc. | File tree conflict processor |
| US7143366B1 (en) * | 2001-06-11 | 2006-11-28 | Rockwell Automation Technologies, Inc. | Graphical compare utility |
| US6981250B1 (en) * | 2001-07-05 | 2005-12-27 | Microsoft Corporation | System and methods for providing versioning of software components in a computer programming language |
| US8001523B1 (en) | 2001-07-05 | 2011-08-16 | Microsoft Corporation | System and methods for implementing an explicit interface member in a computer programming language |
| US20030037313A1 (en) * | 2001-07-16 | 2003-02-20 | Joel Halpern | System and method for class transitioning |
| AU2002320557A1 (en) * | 2001-07-16 | 2003-03-03 | Vibrant Solutions | Apparatus and method for providing a class versioning architecture |
| US20030033442A1 (en) * | 2001-07-16 | 2003-02-13 | Joel Halpern | Apparatus and method for providing a class versioning architecture |
| US7086046B2 (en) * | 2001-07-30 | 2006-08-01 | International Business Machines Corporation | Method and apparatus for displaying compiler-optimizated code |
| KR100429903B1 (ko) * | 2001-12-27 | 2004-05-03 | 한국전자통신연구원 | 홈 게이트웨이 시스템의 이미지 업데이트 방법 |
| KR100471497B1 (ko) * | 2001-12-27 | 2005-03-08 | 한국전자통신연구원 | 네트워크 시스템에서의 이미지 파일 업그레이드 방법 |
| US7260773B2 (en) * | 2002-03-28 | 2007-08-21 | Uri Zernik | Device system and method for determining document similarities and differences |
| WO2003088142A2 (en) | 2002-04-10 | 2003-10-23 | Instasolv, Inc. | Method and system for managing computer systems |
| US7987246B2 (en) * | 2002-05-23 | 2011-07-26 | Jpmorgan Chase Bank | Method and system for client browser update |
| US20040073581A1 (en) * | 2002-06-27 | 2004-04-15 | Mcvoy Lawrence W. | Version controlled associative array |
| US20040068505A1 (en) * | 2002-10-04 | 2004-04-08 | Chung-I Lee | System and method for synchronously editing a file on different client computers |
| US7340650B2 (en) * | 2002-10-30 | 2008-03-04 | Jp Morgan Chase & Co. | Method to measure stored procedure execution statistics |
| US20040177343A1 (en) * | 2002-11-04 | 2004-09-09 | Mcvoy Lawrence W. | Method and apparatus for understanding and resolving conflicts in a merge |
| US20040103199A1 (en) * | 2002-11-22 | 2004-05-27 | Anthony Chao | Method and system for client browser update from a lite cache |
| WO2005015361A2 (en) * | 2003-08-08 | 2005-02-17 | Jp Morgan Chase Bank | System for archive integrity management and related methods |
| US20050065965A1 (en) * | 2003-09-19 | 2005-03-24 | Ziemann David M. | Navigation of tree data structures |
| US20060026567A1 (en) * | 2004-07-27 | 2006-02-02 | Mcvoy Lawrence W | Distribution of data/metadata in a version control system |
| US7366974B2 (en) * | 2004-09-03 | 2008-04-29 | Jp Morgan Chase Bank | System and method for managing template attributes |
| US20060059210A1 (en) * | 2004-09-16 | 2006-03-16 | Macdonald Glynne | Generic database structure and related systems and methods for storing data independent of data type |
| US20090132466A1 (en) * | 2004-10-13 | 2009-05-21 | Jp Morgan Chase Bank | System and method for archiving data |
| US20060106889A1 (en) * | 2004-11-12 | 2006-05-18 | Mannby Claes-Fredrik U | Method, system, and program for managing revisions to a file |
| US7953794B2 (en) | 2005-01-14 | 2011-05-31 | Microsoft Corporation | Method and system for transitioning between synchronous and asynchronous communication modes |
| US7593943B2 (en) | 2005-01-14 | 2009-09-22 | Microsoft Corporation | Method and system for synchronizing multiple user revisions to a shared object |
| US7523110B2 (en) * | 2005-03-03 | 2009-04-21 | Gravic, Inc. | High availability designated winner data replication |
| US7613740B2 (en) | 2005-03-03 | 2009-11-03 | Gravic, Inc. | Control of a data replication engine using attributes associated with a transaction |
| US20070006130A1 (en) * | 2005-06-02 | 2007-01-04 | Arnold Stamler | Model oriented method of automatically detecting alterations in the design of a software system |
| US8272058B2 (en) | 2005-07-29 | 2012-09-18 | Bit 9, Inc. | Centralized timed analysis in a network security system |
| US8984636B2 (en) | 2005-07-29 | 2015-03-17 | Bit9, Inc. | Content extractor and analysis system |
| US7895651B2 (en) | 2005-07-29 | 2011-02-22 | Bit 9, Inc. | Content tracking in a network security system |
| US8868524B2 (en) * | 2005-08-25 | 2014-10-21 | International Business Machines Corporation | Floating merge selection viewer |
| US8065606B1 (en) | 2005-09-16 | 2011-11-22 | Jpmorgan Chase Bank, N.A. | System and method for automating document generation |
| US7669137B2 (en) * | 2005-11-04 | 2010-02-23 | International Business Machines Corporation | Computer method and apparatus for representing a topic in a software modeling system |
| US8775974B2 (en) * | 2005-12-21 | 2014-07-08 | International Business Machines Corporation | Multi-contextual delta navigation in a compare view |
| US7992091B2 (en) * | 2006-03-30 | 2011-08-02 | At&T Intellectual Property I, L.P. | Message-oriented divergence and convergence of message documents |
| US7984375B1 (en) * | 2006-10-10 | 2011-07-19 | Adobe Systems Incorporated | Automated detection and implementation of state and object modifications |
| US8104076B1 (en) | 2006-11-13 | 2012-01-24 | Jpmorgan Chase Bank, N.A. | Application access control system |
| US8205150B2 (en) | 2007-01-22 | 2012-06-19 | Cfph, Llc | Document changes |
| US9946722B2 (en) * | 2007-11-30 | 2018-04-17 | Red Hat, Inc. | Generating file usage information |
| US7937273B2 (en) * | 2007-12-07 | 2011-05-03 | Hewlett-Packard Development Company, L.P. | Change collision calculation system and method |
| US8055721B2 (en) * | 2009-05-20 | 2011-11-08 | International Business Machines Corporation | Method and system for detecting and handling message collisions in an instant messaging system |
| US9135312B2 (en) * | 2009-11-02 | 2015-09-15 | Google Inc. | Timeslider |
| EP2455829A1 (de) * | 2010-11-22 | 2012-05-23 | Siemens Aktiengesellschaft | Graphische Vergleichsanzeige von Software |
| US9038177B1 (en) | 2010-11-30 | 2015-05-19 | Jpmorgan Chase Bank, N.A. | Method and system for implementing multi-level data fusion |
| US9292588B1 (en) | 2011-07-20 | 2016-03-22 | Jpmorgan Chase Bank, N.A. | Safe storing data for disaster recovery |
| US10540373B1 (en) | 2013-03-04 | 2020-01-21 | Jpmorgan Chase Bank, N.A. | Clause library manager |
| JP6217231B2 (ja) * | 2013-08-20 | 2017-10-25 | 株式会社リコー | ソフトウェア構成管理システム |
| JP2015231656A (ja) * | 2014-06-10 | 2015-12-24 | ファナック株式会社 | 比較した設定データの相違点の反映機能を備えるロボット制御装置 |
| JP6870479B2 (ja) | 2017-05-30 | 2021-05-12 | オムロン株式会社 | Hmi開発支援装置、hmi開発支援方法、および、hmi開発支援プログラム |
| US10146530B1 (en) | 2017-07-12 | 2018-12-04 | International Business Machines Corporation | Simulating and evaluating code branch merge |
| US11194553B2 (en) | 2019-09-17 | 2021-12-07 | International Business Machines Corporation | Identifying and recommending code snippets to be reused by software developer |
| US20230244639A1 (en) * | 2020-06-03 | 2023-08-03 | Cser Ventures, LLC | A system for modifying an arrangement of files |
| US12314712B1 (en) * | 2022-09-26 | 2025-05-27 | Amazon Technologies, Inc. | Partitioning code bases for parallel execution of code analysis |
| WO2025014722A1 (en) | 2023-07-07 | 2025-01-16 | Cepheid | Systems and methods for ai based infection classification |
| WO2025014723A1 (en) | 2023-07-07 | 2025-01-16 | Cepheid | Systems and methods for ai based infection classification |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0458495A3 (en) * | 1990-05-21 | 1993-04-14 | Texas Instruments Incorporated | Apparatus and method for managing versions and configurations of persistent and transient objects |
| US5555409A (en) * | 1990-12-04 | 1996-09-10 | Applied Technical Sysytem, Inc. | Data management systems and methods including creation of composite views of data |
| DE69230452T2 (de) * | 1991-08-19 | 2000-08-24 | Sun Microsystems, Inc. | Verfahren und Vorrichtung zur Änderungskontrolle in mehreren Entwicklungsumgebungen |
| US5671428A (en) * | 1991-08-28 | 1997-09-23 | Kabushiki Kaisha Toshiba | Collaborative document processing system with version and comment management |
| US5806078A (en) * | 1994-06-09 | 1998-09-08 | Softool Corporation | Version management system |
| US5737740A (en) * | 1994-06-27 | 1998-04-07 | Numonics | Apparatus and method for processing electronic documents |
| US5897640A (en) * | 1994-08-08 | 1999-04-27 | Microsoft Corporation | Method and system of associating, synchronizing and reconciling computer files in an operating system |
| US5598208A (en) * | 1994-09-26 | 1997-01-28 | Sony Corporation | Video viewing and recording system |
| US5799315A (en) * | 1995-07-07 | 1998-08-25 | Sun Microsystems, Inc. | Method and apparatus for event-tagging data files automatically correlated with a time of occurence in a computer system |
| US5765176A (en) * | 1996-09-06 | 1998-06-09 | Xerox Corporation | Performing document image management tasks using an iconic image having embedded encoded information |
-
1997
- 1997-09-05 US US08/923,910 patent/US6226652B1/en not_active Expired - Fee Related
-
1998
- 1998-08-06 EP EP98306288A patent/EP0907125A3/en not_active Withdrawn
- 1998-09-02 JP JP24792298A patent/JP3628522B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| EP0907125A2 (en) | 1999-04-07 |
| US6226652B1 (en) | 2001-05-01 |
| EP0907125A3 (en) | 2006-01-25 |
| JPH11154108A (ja) | 1999-06-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3628522B2 (ja) | ファイル・セットのバージョンをマージする方法およびシステム | |
| US4710763A (en) | Method for generating and displaying tree structures in a limited display area | |
| US6216138B1 (en) | Computer interface system for automatically generating graphical representations of computer operations linked together according to functional relationships | |
| US8407670B2 (en) | Collaborative code conflict detection, notification and resolution | |
| JP2741826B2 (ja) | 協働的コンピュータ・ベース・システムおよび操作する方法 | |
| US5784583A (en) | Intuitive technique for building graphical menus | |
| US5805889A (en) | System and method for integrating editing and versioning in data repositories | |
| US5479599A (en) | Computer console with group ICON control | |
| US5530861A (en) | Process enaction and tool integration via a task oriented paradigm | |
| US7818663B2 (en) | Editable information management system and method | |
| EP0317480B1 (en) | Graphical menu tree | |
| US5664129A (en) | Visual programming method | |
| EP0549510A2 (en) | System and method for computer aided software engineering | |
| JPH0816872B2 (ja) | 共用データ・オブジェクトの領域を複数のユーザによる操作から保護する方法および編集システム | |
| JPH05324360A (ja) | カーソル・ロック領域 | |
| JP2002373346A (ja) | 図形編集システム | |
| CN1327203A (zh) | 提供作业监视器的方法、系统和计算机程序产品 | |
| US6065116A (en) | Method and apparatus for configuring a distributed application program | |
| JP2689259B2 (ja) | メニュー処理装置 | |
| JP3942877B2 (ja) | Cadデータを管理するためのプログラムを記録したコンピュータ読み取り可能な記録媒体およびcadデータを管理するためのプログラム | |
| EP0793184A2 (en) | Method and apparatus for distributing work flow processes among a plurality of users | |
| US7359914B2 (en) | Reference manager | |
| JPH10171755A (ja) | 業務システム | |
| WO2000005659A1 (en) | Analysis package and method | |
| JPH06131334A (ja) | 頁指向文書処理装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040928 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041028 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20041130 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041208 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071217 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081217 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081217 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091217 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091217 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101217 Year of fee payment: 6 |
|
| LAPS | Cancellation because of no payment of annual fees |