Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3628522B2 - ファイル・セットのバージョンをマージする方法およびシステム - Google Patents
[go: Go Back, main page]

JP3628522B2 - ファイル・セットのバージョンをマージする方法およびシステム - Google Patents

ファイル・セットのバージョンをマージする方法およびシステム Download PDF

Info

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
Application number
JP24792298A
Other languages
English (en)
Other versions
JPH11154108A (ja
Inventor
リン・クリーブランド・パーシヴァル
ジョン・レーン・スキャンロン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH11154108A publication Critical patent/JPH11154108A/ja
Application granted granted Critical
Publication of JP3628522B2 publication Critical patent/JP3628522B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99954Version 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

【0001】
【発明の属する技術分野】
本発明は、一般にはコンピュータ・ソフトウェアに関し、詳細には、様々なバージョンを整合させることができるようにするために、同時に数人の異なる人物によってファイルが変更/更新されたことをユーザに自動的に通知する方法およびシステムに関する。
【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の相違を解決するステップと、
    前記ユーザによって選択された前記解決された相違を含む、前記ロードされたコンピュータ・ファイルのバージョンを記憶するステップと、
    を含み、
    前記表示するステップが、複数のビュー・オプションを表示するステップであって、前記バージョンを分割ビュー、複合ビュー、分割 - マージ・ビュー、または複合 - マージ・ビューのいずれかのビューで表示するステップをさらに含み、前記分割ビューが、前記複数のビュー・オプションが異なるパートを左右に並べたビューであり、前記複合ビューが、前記ビュー・オプションが複数のバージョンを割り込ませたビューであり、前記分割 - マージ・ビューが、前記複数のビュー・オプションがパート・バージョンを上下に並べたビューをマージ作業の結果または対象とともに表示するビューであり、前記複合 - マージ・ビューが、前記複数のビュー・オプションがパート・バージョンを割り込ませたビューである、
    方法。
  2. コンピュータ・ファイルのセットの複数の様々なバージョンをマージするシステムであって、
    コンピュータ・ファイルの前記セットの複数の様々なバージョンを自動的に不整合ハンドラにロードする手段と、
    不整合が前記不整合ハンドラによって検出された前記複数の様々なバージョンのコンピュータ・ファイルの前記データを同時に表示する手段であって、前記バージョンの前記データ間の相違を強調できる、手段と、
    前記バージョンからの前記表示されたデータのユーザによる1つの表示選択に応答して、前記バージョン間の第1の相違を解決する手段と、
    前記ユーザによって選択された前記解決された相違を含む、前記ロードされたコンピュータ・ファイルのバージョンを記憶する手段と、
    を含み、
    前記表示する手段が、複数のビュー・オプションを表示する手段であって、前記バージョンを分割ビュー、複合ビュー、分割 - マージ・ビュー、または複合 - マージ・ビューのいずれかのビューで表示する手段をさらに含み、前記分割ビューが、前記複数のビュー・オプションが異なるパートを左右に並べたビューであり、前記複合ビューが、前記ビュー・オプションが複数のバージョンを割り込ませたビューであり、前記分割 - マージ・ビューが、前記複数のビュー・オプションがパート・バージョンを上下に並べたビューをマージ作業の結果または対象とともに表示するビューであり、前記複合 - マージ・ビューが、前記複数のビュー・オプションがパート・バージョンを割り込ませたビューである、
    システム。
  3. コンピュータ・ファイルのセットの複数の様々なバージョンをマージするコンピュープログラムを記憶したコンピュータ・プログラム記憶媒体であって、
    コンピュータ・ファイルの前記セットの複数の様々なバージョンを自動的に不整合ハンドラにロードするステップと、
    不整合が前記不整合ハンドラによって検出された前記複数の様々なバージョンのコンピュータ・ファイルの前記データを同時に表示するステップであって、前記バージョンの前記データ間の相違を強調できる、ステップと、
    前記バージョンからの前記表示されたデータのユーザによる1つの表示選択に応答して、前記バージョン間の第1の相違を解決するステップと、
    前記ユーザによって選択された前記解決された相違を含む、前記ロードされたコンピュータ・ファイルのバージョンを記憶するステップと、
    を含み、
    前記表示するステップが、複数のビュー・オプションを表示するステップであって、前記バージョンを分割ビュー、複合ビュー、分割 - マージ・ビュー、または複合 - マージ・ビューのいずれかのビューで表示するステップをさらに含み、前記分割ビューが、前記複数のビュー・オプションが異なるパートを左右に並べたビューであり、前記複合ビューが、前記ビュー・オプションが複数のバージョンを割り込ませたビューであり、前記分割 - マージ・ビューが、前記複数のビュー・オプションがパート・バージョンを上下に並べたビューをマージ作業の結果または対象とともに表示するビューであり、前記複合 - マージ・ビューが、前記複数のビュー・オプションがパート・バージョンを割り込ませたビューである、
    コンピュータ・プログラム記憶媒体。
JP24792298A 1997-09-05 1998-09-02 ファイル・セットのバージョンをマージする方法およびシステム Expired - Fee Related JP3628522B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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