(58)【調査した分野】(Int.Cl.,DB名)
ソースコードへのリンク情報及びバージョン情報を含む複数の変更履歴データのうちから、当該ソースコード中の変更内容を探索するための、コンピュータに実装される方法であって、
前記複数の変更履歴データのうちから、ユーザによって特定された機能単位(以下、第1の機能単位という)を含む変更履歴データを抽出し、当該抽出された変更履歴データ(以下、第1の変更履歴データという)の一覧(以下、第1の一覧という)を表示装置上に表示するステップであって、前記第1の一覧のうちの少なくとも2つの異なる変更履歴データそれぞれに対応するソースコード又は当該ソースコードに関連付けられた情報を前記表示装置上に表示すること、前記少なくとも2つの異なる変更履歴データそれぞれは異なるバージョン番号を有し、並びに、下記(1)又は(2)を実行すること
(1)1つ又は複数の変更履歴データに対応するソースコード又は当該ソースコードに関連付けられた情報の表示を前記表示装置上で固定し、残りの変更履歴データに対応するソースコード又は当該ソースコードに対応付けられた情報を前記バージョン情報の順に又は当該変更履歴データの作成日の順に従って前記表示装置上に表示すること、又は、
(2)1つ又は複数の変更履歴データに対応するソースコード又は当該ソースコードに関連付けられた情報と残りの変更履歴データに対応するソースコード又は当該ソースコードに対応付けられた情報とを、前記バージョン情報の順に又は当該変更履歴データの作成日の順に従って前記表示装置上に表示すること
をさらに含む、前記表示するステップ
を含み、
前記変更履歴データが、当該変更履歴データの作成日付、ソースコードを変更したユーザ、及び、当該ユーザによって付与されたコメントを含み、
前記第1の機能単位が、変数、関数、マクロ定義、メソッド、サブルーチン、又は、構造化文書のタグ構造である、
前記方法。
ソースコードへのリンク情報及びバージョン情報を含む複数の変更履歴データのうちから、当該ソースコード中の変更内容を探索するための、コンピュータに実装される方法であって、
前記複数の変更履歴データのうちから、ユーザによって特定された機能単位(以下、第1の機能単位という)を含む変更履歴データを抽出し、当該抽出された変更履歴データ(以下、第1の変更履歴データという)の一覧(以下、第1の一覧という)を記憶領域内に作成するステップと、
前記第1の一覧のうちの少なくとも2つの異なる変更履歴データそれぞれに対応するソースコード又は当該ソースコードに関連付けられた情報を表示装置上に表示するステップであって、前記少なくとも2つの異なる変更履歴データそれぞれは異なるバージョン番号を有し、並びに、下記(1)又は(2)を実行すること
(1)1つ又は複数の変更履歴データに対応するソースコード又は当該ソースコードに関連付けられた情報の表示を前記表示装置上で固定し、残りの変更履歴データに対応するソースコード又は当該ソースコードに対応付けられた情報を前記バージョン情報の順に又は当該変更履歴データの作成日の順に従って前記表示装置上に表示すること、又は、
(2)1つ又は複数の変更履歴データに対応するソースコード又は当該ソースコードに関連付けられた情報と残りの変更履歴データに対応するソースコード又は当該ソースコードに対応付けられた情報とを、前記バージョン情報の順に又は当該変更履歴データの作成日の順に従って前記表示装置上に表示すること
を含み、
前記変更履歴データが、当該変更履歴データの作成日付、ソースコードを変更したユーザ、及び、当該ユーザによって付与されたコメントを含み、
前記第1の機能単位が、変数、関数、マクロ定義、メソッド、サブルーチン、又は、構造化文書のタグ構造である、
前記方法。
前記第2の一覧を表示するステップが、前記第2の一覧のうちの少なくとも2つの異なる変更履歴データそれぞれに対応するソースコード又は当該ソースコードに関連付けられた情報を前記表示装置上に表示するステップをさらに含み、又は、
前記第3の一覧を表示するステップが、前記第3の一覧のうちの少なくとも2つの異なる変更履歴データそれぞれに対応するソースコード又は当該ソースコードに関連付けられた情報を前記表示装置上に表示するステップをさらに含む、
請求項3に記載の方法。
前記第2の一覧のうちの少なくとも2つの異なる変更履歴データそれぞれに対応するソースコード又は当該ソースコードに関連付けられた情報を前記表示装置上に表示するステップ、又は、前記第3の一覧のうちの少なくとも2つの異なる変更履歴データそれぞれに対応するソースコード又は当該ソースコードに関連付けられた情報を前記表示装置上に表示するステップが、
1つ又は複数の変更履歴データに対応するソースコード又は当該ソースコードに関連付けられた情報の表示を前記表示装置上で固定し、残りの変更履歴データに対応するソースコード又は当該ソースコードに対応付けられた情報を前記バージョン情報の順又は当該変更履歴データの作成日の順に従って前記表示装置上に表示することを可能にするステップ、又は、
1つ又は複数の変更履歴データに対応するソースコード又は当該ソースコードに関連付けられた情報と残りの変更履歴データに対応するソースコード又は当該ソースコードに対応付けられた情報とを、前記バージョン情報の順に又は当該変更履歴データの作成日の順に従って前記表示装置上に表示することを可能にするステップ
を含む、
請求項4又は5に記載の方法。
前記第2の一覧を表示するステップを少なくとも2以上、前記第3の一覧を表示するステップを少なくとも2以上、又は、前記第2の一覧を表示するステップの少なくとも1以上及び前記第3の一覧を表示するステップの少なくとも1以上、を実行するステップをさらに含む、請求項3に記載の方法。
前記第2の一覧のうちの少なくとも2つの異なる変更履歴データそれぞれに対応するソースコードを表示するステップ、前記第2の一覧のうちの少なくとも2つの異なる変更履歴データそれぞれに対応する前記ソースコードに関連付けられた情報を表示するステップ、前記第3の一覧のうちの少なくとも2つの異なる変更履歴データそれぞれに対応するソースコードを表示するステップ、及び、前記第3の一覧のうちの少なくとも2つの異なる変更履歴データそれぞれに対応する前記ソースコードに関連付けられた情報を表示するステップから選択される少なくとも2つの同一の又は異なるステップを組み合わせて実行するステップをさらに含む、請求項5に記載の方法。
ソースコードへのリンク情報及びバージョン情報を含む複数の変更履歴データのうちから、当該ソースコード中の変更内容を探索するためのコンピュータ・プログラムであって、コンピュータに請求項1〜10のいずれか一項に記載の方法の各ステップを実行させる前記コンピュータ・プログラム。
【発明を実施するための形態】
【0046】
以下、本発明を実施するための最良の形態を図面に基づいて詳細に説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものでなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。また、本発明は多くの異なる態様で実施することが可能であり、以下の実施形態において、種々の変更または改良を加えることが可能であることが当業者に明らかである。
【0047】
以下において、特に断らない限り、発明を実施するための形態の説明の全体を通じて同じ要素には同じ番号を付している。なお、図面に示すソースコード及び変更履歴データ・リストは例示であって、本発明を説明するためのモデル・ソースコードであることに留意されたい。また、図面に示すソースコードは、変更履歴データ・リスト中の更新履歴データに対応するソースコードに必ずしも対応するものでなく、例示に過ぎないことに留意されたい。
【0048】
図1は、本発明の実施形態に従うコンピュータのハードウェア構成の一例を示した図である。
コンピュータ(101)は、CPU(102)とメイン・メモリ(103)とを備えており、これらはバス(104)に接続されている。CPU(102)は好ましくは、32ビット又は64ビットのアーキテクチャに基づくものであり、例えば、インテル社のCore i(商標)シリーズ、Core 2(商標)シリーズ、Atom(商標)シリーズ、Xeon(商標)シリーズ、Pentium(登録商標)シリーズ、若しくはCeleron(商標)シリーズ、AMD社のOpteron(商標)シリーズ、Phenom(商標)シリーズ、Athlon(商標)シリーズ、Turion(商標)シリーズ、Sempron(商標)若しくはAシリーズ、又は、NVIVA社のTegra(商標)モバイル・プロセッサが使用されうる。バス(104)には、ディスプレイ・コントローラ(105)を介して、ディスプレイ(106)、例えば液晶ディスプレイ(LCD)が接続されうる。ディスプレイ(106)は、コンピュータ(101)内に埋め込まれていてもよい。また、ディスプレイ(106)は、コンピュータ(101)に有線的に又は無線的に接続されうる。バス(104)にはまた、SATA又はIDEコントローラ(107)を介して、ディスク(108)、例えばシリコン・ディスク又はハードディスクと、ドライブ(109)、例えばCD、DVD又はBDドライブとが接続されうる。バス(104)にはさらに、キーボード・マウスコントローラ(110)又はUSBバス(図示せず)を介して、キーボード(111)及びマウス(112)が接続されうる。
【0049】
ディスク(108)には、オペレーティング・システム、J2EEなどのJava(登録商標)処理環境、Java(登録商標)アプリケーション、Java(登録商標)仮想マシン(VM)、Java(登録商標)実行時(JIT)コンパイラを提供するプログラム、その他のプログラム、及びデータが、メイン・メモリにロード可能に記憶されている。また、ディスク(108)には、コードの入力乃至は編集を可能にするソフトウェア、文字変換処理ソフトウェアであるフロント・エンド・プロセッサ(FEP)がメイン・メモリにロード可能に記憶されている。オペレーティング・システムは、例えば、マイクロソフト・コーポレーションが提供するWindows(登録商標)オペレーティング・システム、アップル・コンピュータ・インコーポレイテッドが提供するMacOS()商標)若しくはiOS(登録商標)、X Window Systemを備えるUNIX(登録商標)系システム(たとえば、インターナショナル・ビジネス・マシーンズ・コーポレーション(登録商標)が提供するAIX(登録商標)、その他Android(登録商標)のような、グラフィカル・ユーザ・インターフェース(GUI)マルチウィンドウ環境をサポートするオペレーティング・システムでありうる。
【0050】
ドライブ(109)は、必要に応じて、CD−ROM、DVD−ROM又はBDからプログラムをディスク(108)にインストールするために使用される。
【0051】
通信インタフェース(114)は、例えばイーサネット(登録商標)・プロトコルに従う。通信インタフェース(114)は、通信コントローラ(113)を介してバス(104)に接続され、コンピュータ(101)を通信回線(115)に物理的に接続する役割を担い、コンピュータ(101)のオペレーティング・システムの通信機能のTCP/IP通信プロトコルに対して、ネットワーク・インタフェース層を提供する。なお、通信回線は、有線LAN環境、又は例えばIEEE802.11a/b/g/nなどの無線LAN接続規格に基づく無線LAN環境であってもよい。また、通信インターフェースは、ブルートゥース又は赤外線通信の機能を備えうる。
【0052】
以上の説明により、本発明の実施の形態に従うコンピュータは、通常のパーソナル・コンピュータ、ワークステーション、メインフレームなどのコンピュータ、または、これらの組み合わせを含むシステムによって実現されうる。
【0053】
以上の説明により、本発明の実施の形態において使用されるコンピュータは、特定のオペレーティング・システム環境に限定されるものではないことを理解することができるであろう。
【0054】
図2Aは、
図1に従うハードウェア構成を好ましくは有し、本発明の一つの実施形態に従うコンピュータの機能ブロック図である。
【0055】
コンピュータ(101)は、
図1に従うハードウェア構成を有しうる。コンピュータ(101)は、入力手段(201)、編集手段(202)、抽出手段(203)、表示制御手段(204)、指定手段(図示せず)、並びに、表示装置(205)及び記憶手段(206)を備えうる。
【0056】
入力手段(201)は、ソースコード;変更履歴データに対応するソースコード又は当該ソースコードに関連付けられた情報を表示する対象である特定のファイルの名前;及び/又は、機能単位の特定を含む条件式をユーザから受信する。
【0057】
編集手段(202)は、ソースコードの編集を可能にするアプリケーションに備えられた機能でありうる。当該アプリケーションは、例えば、テキストエディタ、又は、特定のプログラムをプログラミングするための専用のアプリケーションソフトウェアでありうる。当該アプリケーションは、例えば変更管理ツール、例えばインターナショナル・ビジネス・マシーンズ・コーポレーション(登録商標)から販売されているRational(登録商標) Team Concert(登録商標)若しくはRational(登録商標) ClearCase(登録商標)、又は、Subversion若しくはフリーソフトウェアであるコンカレント・バージョンズ・システム(Concurrent Versions System)でありうる。編集手段(202)は、ユーザがソースコード中にコードを挿入し、削除し、又は変更することを許す。
【0058】
抽出手段(203)は、複数の変更履歴データのうちから、ユーザによって特定された機能単位を含む変更履歴データを抽出する。抽出手段(203)は、複数の変更履歴データを記憶手段(206)から取り出しうる。
【0059】
本発明の実施態様において、「機能単位」とは、範囲を特定可能な情報を持つ範囲であり、例えば、範囲が特定できるもの、又は、あるコメントで囲まれた範囲でありうる。また、「機能単位」とは、具体的には、例えば、変数、関数、マクロ定義、メソッド、サブルーチン、又は、構造化文書の例えばタグ構造でありうるがこれらに限定されるものではない。範囲を特定可能な情報とは、例えば機能単位がメソッドである場合、シグネチャであり、また、例えば機能単位が構造化文書である場合、例えばタグでありうる。メソッドは、オブジェクト指向言語において用いられうる。構造化文書とは、例えば、SGML、XML、HTML、又は、XHTMLでありうる。
【0060】
表示制御手段(204)は、変更履歴データの一覧(213)を表示装置(205)上に表示する。変更履歴データ(212)は、記憶手段(206)から取り出された、特定のファイルについての全ての変更履歴データ、又は、特定のファイルについての全ての変更履歴データのうちから、抽出手段(203)によって抽出された変更履歴データでありうる。
【0061】
表示制御手段(204)は、表示装置(205)上に、複数の変更履歴データのうちから、ユーザによって特定された機能単位を含む変更履歴データを抽出し、当該抽出された変更履歴データの一覧を表示する。また、表示制御手段(204)は、表示装置(205)上に、上記一覧のうちの少なくとも2つの異なる変更履歴データそれぞれに対応するソースコード又は当該ソースコードに関連付けられた情報を表示する。ソースコードに関連付けられた情報とは、例えば、変更前と変更後の上記ソースコード間の差分、又は上記ソースコード中において、上記差分を強調したものをいう。
【0062】
指定手段(図示せず)は、変更履歴データのバージョン情報の範囲をユーザが指定することを可能にする。当該指定は、例えばバージョン番号14以降(
図3Fを参照)、バージョン番号16以降(
図3Cを参照)のように、バージョン情報を所定の欄又はウィンドウに入力することによって行われうる。
【0063】
表示装置(205)は、
図1のディスプレイに対応する。表示装置(205)は、例えば、液晶ディスプレイであり、装置(101)の中に備えられている(すなわち埋め込まれている)か、又は、ケーブルを介して、コンピュータ(101)に接続されうる。また、表示装置(205)は、下記
図4Aに示すウィンドウ(401)を表示する。ウィンドウ(401)については、下記
図4Aの説明において述べる。
【0064】
記憶手段(206)は、コンピュータ(101)の中に備えられている(すなわち埋め込まれている)か、又は、ケーブルを介して、又は、有線若しくは無線のイントラネットワーク若しくはインターネットワークを介してコンピュータ(101)に接続されうる。記憶手段(206)は、典型的には、例えば、ハードディスク・ドライブ(HDD)又はソリッド・ステート・ドライブ(SSD)でありうる。
【0065】
記憶手段(206)は、ソースコード(211)、変更履歴データ(212)、変更履歴データの一覧(213)を格納しうる。
【0066】
ソースコード(211)は、本発明においてどのようなコンピュータ言語で記載されたものであってもよい。コンピュータ言語は、例えば、プログラミング言語、スタイルシート言語、ハードウェア記述言語、データ記述言語、データベース言語、問い合わせ言語、及び、変換言語を包含しうる。
【0067】
変更履歴データ(212)は、特定のファイルについての過去に行われた変更を表示するために使用されうる。また、変更履歴データ(212)は、各変更履歴データが作成された時点でのソースコードを表示するために使用されうる。変更履歴データ(212)は、特定のファイルについて、例えばユーザによるソースコードの編集後に行われるコミット操作に応じて作成されうる。変更履歴データ(212)の例は、下記
図2Bの説明において詳しく述べる。
【0068】
変更履歴データの一覧(213)は、特定のファイルについて作成された全ての変更履歴データをリストアップした変更履歴データ・リスト(例えば、
図3Aに示す変更履歴データ・リスト(301)を参照されたい)、又は、当該全ての変更履歴データをリストアップした変更履歴データ・リストのうちから、特定の変更履歴データ・リストをユーザによって特定された機能単位又はバージョン番号により抽出手段(203)によって抽出し、当該抽出された変更履歴データをリストアップした変更履歴データ・リスト(例えば、
図3B〜
図3Gに示す各変更履歴データ・リスト(311、321、331、341、351及び361)を参照されたい)でありうる。
【0069】
図2Bは、本発明の1つの実施態様において使用されうる、各変更履歴データ(212)のブロック図である。
変更履歴データ(212)は、複数の変更履歴データ(212−1〜212−n)(nは2以上の整数である)からなる。各変更履歴データ(212−1〜212−n)は、例えばユーザによるソースコードの編集後に行われるコミット操作に応じて作成されうる。
【0070】
各変更履歴データ(212−1〜212−n)は、バージョン情報(221−1〜221−n)、リンク情報(231−1〜231−n)、コード変更情報(241−1〜241−n)、変更したユーザ(以下、変更者ともいう)(251−1〜251−n)、コメント(261−1〜261−n)、及び作成日付(271−1〜271−n)を有する。
【0071】
バージョン情報(221−1〜221−n)は、変更履歴データを識別するために付されたものである。バージョン情報(221−1〜221−n)は、例えば、数字、文字、記号、又はそれらの組み合わせでありうる。バージョン情報(221−1〜221−n)は、例えば変更履歴が新しいものほど数字が大きくなるように、バージョン番号が各変更履歴データに付される。また、バージョン情報(221−1〜221−n)は、表示制御手段(204)が各変更履歴データ(212−1〜212−n)から特定の変更履歴データを特定するために使用されうる。
【0072】
リンク情報(231−1〜231−n)は、ソースコードへのリンク情報又はソースコードを再現するためのデータを特定する為のリンク情報である。ソースコードへのリンクのさせ方は、変更管理ツールによって異なりうる。例えば、コンカレント・バージョンズ・システムの場合、特定ファイルについて、全ての時点でのバージョンのソースコードを全て保存するので、リンク情報(231−1〜231−n)は各時点でのバージョンのソースコードを保存したリンク先情報でありうる。例えば、Subversionの場合、特定ファイルについてのソースコードを特定の時点でのバージョンのソースコードを全て保存し、それ以降のバージョンでは当該特定の時点でのバージョンのソースコードとの差分を保存するので、リンク情報(231−1〜231−n)は、特定の時点でのバージョンのソースコード及び上記差分を保存したリンク先情報でありうる。
【0073】
コード変更情報(241−1〜241−n)は、ソースコードの変更内容、及び変更された箇所を特定する為の情報を含む。変更された箇所の特定は、例えば、ページ又は行を特定することによって行われうる。
【0074】
変更したユーザ(251−1〜251−n)は、ソースコードを変更したユーザ名である。
【0075】
コメント(261−1〜261−n)は、変更したユーザによる変更についてのコメント、又は、変更したユーザに関連するユーザが付したコメントでありうる。
【0076】
作成日付(271−1〜271−n)は、当該変更履歴データが作成された日付(すなわち、ソースコードが変更された変更日付)である。
【0077】
変更履歴データそれ自体は、当業者に知られている又は用いられている任意のデータ構造体をとりうる。また、変更履歴データの生成及び管理それ自体は、当業者に知られている又は用いられている任意の方法をとりうる。
【0078】
以下に、本発明で使用しうる変更履歴データ・リストについて、
図3A〜
図3Gに示す変更履歴データ・リストの例を参照しながら説明する。
【0079】
図3Aは、従来技術である、特定のファイルについての全ての変更履歴データをリストアップした一覧(変更履歴データ・リストともいう)を示す。
図3Aに示す変更履歴データ・リスト(301)は、特定のファイルについて作成された全ての変更履歴データをリストアップした変更履歴データ・リストである。なお、
図3Aに示す変更履歴データ・リストは一例であって、本発明は
図3Aに示す変更履歴データ・リストの仕様に限定されるものではないことに留意されたい。当業者は、変更履歴データ・リストの仕様として、当業者に知られている又は用いられている任意の仕様を採りうる。
【0080】
変更履歴データ・リスト(301)は、バージョン情報が1〜26を有する各変更履歴データがあることを示す。変更履歴データ・リスト(301)では、各変更履歴データは、バージョン(バージョン情報である)、変更コメント、変更日付、及び変更者の各項目を有している。
図3Aでは、変更履歴データ・リスト(301)の右側に補足事項として、ソースコードの変更内容を記している。当該補足事項は、例えば、変更履歴データ内において、コメントとして管理されているものでありうる。当該補足事項は、表示装置(205)上に表示されなくてもよい(通常は表示されない)。
【0081】
以下、
図3B〜
図3Gにおいて、本発明の実施態様に従い、変更履歴データのうちから、ユーザによって特定された機能単位を含む変更履歴データを抽出する態様を説明する。
【0082】
図3Bは、本発明の一つの実施態様に従い、
図3Aに示す変更履歴データ・リスト(301)中の変更履歴データのうちから、下記条件1に従い変更履歴データを抽出し、当該条件1にマッチしなかった変更履歴データをグレーアウトして表示したリスト(a)、及び、当該条件1にマッチした変更履歴データのみを表示したリスト(b)を示す。
条件1は、下記の通りである:
条件1 変更履歴データ・リスト(301)中の全ての変更履歴データのうちからユーザによって特定された機能単位である「foobar」を含む変更履歴データを抽出する。
【0083】
変更履歴データ・リスト(311)は、抽出手段(203)が上記条件1に従い、変更履歴データ・リスト(301)中の全ての変更履歴データのうちからユーザによって特定された機能単位である「foobar」を含む変更履歴データを特定し、当該特定されたもの以外をグレーアウトして表示することによって得られる変更履歴データ・リストである。上記特定された変更履歴データ以外の変更履歴データ(バージョン1〜13,16,18,20〜23及び25〜26を有する)をグレーアウトすることによって、ユーザは、上記特定された変更履歴データ(バージョン14,15,17,19及び24を有する)を判別しやすくなる。上記特定された変更履歴データ(バージョン14,15,17,19及び24を有する)は、変更履歴に機能単位「foobar」を含むものである。
【0084】
変更履歴データ・リスト(312)は、変更履歴データ・リスト(311)においてグレーアウトされている変更履歴データを除いて又は非表示にして得られる変更履歴データ・リストである。
【0085】
ユーザは、変更履歴データ・リスト(311)又は変更履歴データ・リスト(312)のいずれかを表示装置(205)上に表示することを選択しうる。表示制御手段(204)は、上記選択に応じて、変更履歴データ・リスト(311)又は変更履歴データ・リスト(312)のいずれかを表示装置(205)上に表示しうる。
【0086】
図3Cは、本発明の一つの実施態様に従い、
図3Aに示す変更履歴データ・リスト(301)中の変更履歴データのうちから、下記条件2に従い変更履歴データを抽出し、当該条件2にマッチしなかった変更履歴データをグレーアウトして表示したリスト(a)、及び、当該条件2にマッチした変更履歴データのみを表示したリスト(b)を示す。
条件2は、下記の通りである:
条件2 変更履歴データ・リスト(301)中の全ての変更履歴データのうちから、ユーザによって特定された機能単位である「foobar」を含む変更履歴データを抽出する(上記条件1と同じ);当該抽出した変更履歴データのうちから、ユーザによって特定されたバージョン情報の範囲が16以降の変更履歴データをさらに抽出する。
【0087】
変更履歴データ・リスト(321)は、抽出手段(203)が上記条件2に従い、変更履歴データ・リスト(301)中の全ての変更履歴データのうちからユーザによって特定された機能単位である「foobar」を含む変更履歴データを特定し、次に、当該特定された変更履歴データ・リスト(
図3Bに示す311と同じ)中の全ての変更履歴データのうちからバージョン情報の範囲が16以降の変更履歴データをさらに特定し、当該さらに特定されたもの以外をグレーアウトして表示することによって得られる変更履歴データ・リストである。上記さらに特定された変更履歴データ以外の変更履歴データ(バージョン1〜16,18,20〜23及び25〜26を有する)をグレーアウトすることによって、ユーザは、上記さらに特定された変更履歴データ(バージョン17,19及び24を有する)を判別しやすくなる。上記さらに特定された変更履歴データ(バージョン17,19及び24を有する)は、変更履歴に機能単位「foobar」を含み、且つ、バージョン情報の範囲が16以降のものである。
【0088】
変更履歴データ・リスト(322)は、変更履歴データ・リスト(321)においてグレーアウトされている変更履歴データを除いて又は非表示にして得られる変更履歴データ・リストである。
【0089】
ユーザは、変更履歴データ・リスト(321)又は変更履歴データ・リスト(322)のいずれかを表示装置(205)上に表示することを選択しうる。表示制御手段(204)は、上記選択に応じて、変更履歴データ・リスト(321)又は変更履歴データ・リスト(322)のいずれかを表示装置(205)上に表示しうる。
【0090】
図3Dは、本発明の一つの実施態様に従い、
図3Aに示す変更履歴データ・リスト(301)中の変更履歴データのうちから、下記条件3に従い変更履歴データを抽出し、当該条件3にマッチしなかった変更履歴データをグレーアウトして表示したリスト(a)、及び、当該条件3にマッチした変更履歴データのみを表示したリスト(b)を示す。
条件3は、下記の通りである:
条件3 変更履歴データ・リスト(301)中の全ての変更履歴データのうちから、ユーザによって特定された機能単位である「foobar」を含む変更履歴データを抽出する(上記条件1と同じ);当該抽出した変更履歴データのうちから、ユーザによって特定された機能単位である「baz」を含む変更履歴データをさらに抽出する。
【0091】
変更履歴データ・リスト(331)は、抽出手段(203)が上記条件3に従い、変更履歴データ・リスト(301)中の全ての変更履歴データのうちからユーザによって特定された機能単位である「foobar」を含む変更履歴データを特定し、次に、当該特定された変更履歴データ・リスト(
図3Bに示す311と同じ)中の全ての変更履歴データのうちからユーザによって特定された機能単位である「baz」を含む変更履歴データをさらに特定し、当該さらに特定されたもの以外をグレーアウトして表示することによって得られる変更履歴データ・リストである。上記さらに特定された変更履歴データ以外の変更履歴データ(バージョン1〜13,16〜18,及び20〜26を有する)をグレーアウトすることによって、ユーザは、上記さらに特定された変更履歴データ(バージョン14,15及び19を有する)を判別しやすくなる。上記さらに特定された変更履歴データ(バージョン14,15及び19を有する)は、変更履歴に機能単位「foobar」及び機能単位「baz」のいずれをも含むものである。すなわち、条件3は「and」条件である。
【0092】
変更履歴データ・リスト(332)は、変更履歴データ・リスト(331)においてグレーアウトされている変更履歴データを除いて又は非表示にして得られる変更履歴データ・リストである。
【0093】
ユーザは、変更履歴データ・リスト(331)又は変更履歴データ・リスト(332)のいずれかを表示装置(205)上に表示することを選択しうる。表示制御手段(204)は、上記選択に応じて、変更履歴データ・リスト(331)又は変更履歴データ・リスト(332)のいずれかを表示装置(205)上に表示しうる。
【0094】
図3Eは、本発明の一つの実施態様に従い、
図3Aに示す変更履歴データ・リスト(301)中の変更履歴データのうちから、下記条件4に従い変更履歴データを抽出し、当該条件4にマッチしなかった変更履歴データをグレーアウトして表示したリスト(a)、及び、当該条件4にマッチした変更履歴データのみを表示したリスト(b)を示す。
条件4は、下記の通りである:
条件4 変更履歴データ・リスト(301)中の全ての変更履歴データのうちから、ユーザによって特定された機能単位である「foobar」を含む変更履歴データ(「foobar」を含む変更履歴データ)を抽出する(上記条件1と同じ);変更履歴データ・リスト(301)中の全ての変更履歴データのうちから、ユーザによって特定された機能単位である「baz」を含む変更履歴データ(「baz」を含む変更履歴データ)を抽出する;「foobar」を含む変更履歴データと「baz」を含む変更履歴データとを「or」条件で組み合わせる。
【0095】
変更履歴データ・リスト(341)は、抽出手段(203)が上記条件4に従い、変更履歴データ・リスト(301)中の全ての変更履歴データのうちからユーザによって特定された機能単位である「foobar」を含む変更履歴データを特定し、さらに、変更履歴データ・リスト(301)中の全ての変更履歴データのうちからユーザによって特定された機能単位である「baz」を含む変更履歴データをさらに特定し、次に、「foobar」を含む変更履歴データと「baz」を含む変更履歴データとを「or」条件で組み合わせることによって得られるもの以外をグレーアウトして表示することによって得られる変更履歴データ・リストである。上記組み合わせることによって得られる変更履歴データ以外の変更履歴データ(バージョン1〜6,8〜11,13,16,18,20,22〜23及び25〜26を有する)をグレーアウトすることによって、ユーザは、上記組み合わせることによって得られる変更履歴データ(バージョン7,12,14〜15,17,19,21及び24を有する)を判別しやすくなる。上記組み合わせることによって得られる変更履歴データ(バージョン7,12,14〜15,17,19,21及び24を有する)は、変更履歴に機能単位「foobar」又は機能単位「baz」のいずれかを含むものである。すなわち、条件4は「or」条件である。
【0096】
変更履歴データ・リスト(342)は、変更履歴データ・リスト(341)においてグレーアウトされている変更履歴データを除いて又は非表示にして得られる変更履歴データ・リストである。
【0097】
ユーザは、変更履歴データ・リスト(341)又は変更履歴データ・リスト(342)のいずれかを表示装置(205)上に表示することを選択しうる。表示制御手段(204)は、上記選択に応じて、変更履歴データ・リスト(341)又は変更履歴データ・リスト(342)のいずれかを表示装置(205)上に表示しうる。
【0098】
図3Fは、本発明の一つの実施態様に従い、
図3Aに示す変更履歴データ・リスト(301)中の変更履歴データのうちから、下記条件5に従い変更履歴データを抽出し、当該条件5にマッチしなかった変更履歴データをグレーアウトして表示したリスト(a)、及び、当該条件5にマッチした変更履歴データのみを表示したリスト(b)を示す。
条件5は、下記の通りである:
条件5 変更履歴データ・リスト(301)中の全ての変更履歴データのうちから、ユーザによって特定された機能単位である「foobar」を含む変更履歴データ(「foobar」を含む変更履歴データ)を抽出する;変更履歴データ・リスト(301)中の全ての変更履歴データのうちから、ユーザによって特定された機能単位である「baz」を含む変更履歴データ(「baz」を含む変更履歴データ)を抽出する;「foobar」を含む変更履歴データと「baz」を含む変更履歴データとを「or」条件で組み合わせる(以上、上記条件4と同じ);当該組み合わせた変更履歴データのうちから、ユーザによって特定されたバージョン情報の範囲が14以降の変更履歴データをさらに抽出する。
【0099】
変更履歴データ・リスト(351)は、抽出手段(203)が上記条件5に従い、変更履歴データ・リスト(301)中の全ての変更履歴データのうちからユーザによって特定された機能単位である「foobar」を含む変更履歴データを特定し、さらに、変更履歴データ・リスト(301)中の全ての変更履歴データのうちからユーザによって特定された機能単位である「baz」を含む変更履歴データを特定し、次に、「foobar」を含む変更履歴データと「baz」を含む変更履歴データとを「or」条件で組み合わせて得られる変更履歴データのうちから、バージョン情報の範囲が14以降の変更履歴データをさらに特定し、当該さらに特定されたもの以外をグレーアウトして表示することによって得られる変更履歴データ・リストである。上記さらに特定された変更履歴データ以外の変更履歴データ(バージョン1〜13,16,18,20、22〜23及び25〜26を有する)をグレーアウトすることによって、ユーザは、上記さらに特定された変更履歴データ(バージョン14〜15,17,19,21及び24を有する)を判別しやすくなる。上記さらに特定された変更履歴データ(バージョン14〜15、17、19、21及び24を有する)は、変更履歴に機能単位「foobar」又は機能単位「baz」のいずれかを含み、且つ、バージョン情報の範囲が14以降のものである。
【0100】
変更履歴データ・リスト(352)は、変更履歴データ・リスト(351)においてグレーアウトされている変更履歴データを除いて又は非表示にして得られる変更履歴データ・リストである。
【0101】
ユーザは、変更履歴データ・リスト(351)又は変更履歴データ・リスト(352)のいずれかを表示装置(205)上に表示することを選択しうる。表示制御手段(204)は、上記選択に応じて、変更履歴データ・リスト(351)又は変更履歴データ・リスト(352)のいずれかを表示装置(205)上に表示しうる。
【0102】
図3Gは、本発明の一つの実施態様に従い、
図3Aに示す変更履歴データ・リスト(301)中の変更履歴データのうちから、下記条件6に従い変更履歴データを抽出し、当該条件6にマッチしなかった変更履歴データをグレーアウトして表示したリスト(a)、及び、当該条件6にマッチした変更履歴データのみを表示したリスト(b)を示す。
条件6は、下記の通りである:
条件6 変更履歴データ・リスト(301)中の全ての変更履歴データのうちから、ユーザによって特定された機能単位である「foobar」を含む変更履歴データ(「foobar」を含む変更履歴データ)を抽出する;変更履歴データ・リスト(301)中の全ての変更履歴データのうちから、「foobar」の別の名前である機能単位「foo」を含む変更履歴データ(「foo」を含む変更履歴データ)を抽出する;「foobar」を含む変更履歴データと「foo」を含む変更履歴データとを「or」条件で組み合わせる;当組み合わせた変更履歴データのうちから、ユーザによって特定されたバージョン情報の範囲が13以前の変更履歴データをさらに抽出する。本発明において、「別の名前」とは、意味的に同値である機能単位をいう。
【0103】
変更履歴データ・リスト(361)は、抽出手段(203)が上記条件6に従い、変更履歴データ・リスト(301)中の全ての変更履歴データのうちからユーザによって特定された機能単位である「foobar」を含む変更履歴データを特定し、さらに、変更履歴データ・リスト(301)中の全ての変更履歴データのうちからユーザによって「foobar」の別の名前であるとみなして特定された機能単位である「foo」を含む変更履歴データをさらに特定し、次に、「foobar」を含む変更履歴データと「foo」を含む変更履歴データとを「or」条件で組み合わせることによって得られるもの以外をグレーアウトして表示することによって得られる変更履歴データ・リストである。上記組み合わせることによって得られる変更履歴データ以外の変更履歴データ(バージョン1〜2,4,8〜12,16,18,20〜23及び25〜26を有する)をグレーアウトすることによって、ユーザは、上記組み合わせることによって得られる変更履歴データ(バージョン3,5〜7,13〜15,17,19及び24を有する)を判別しやすくなる。上記組み合わせることによって得られる変更履歴データ(バージョン3,5〜7,13〜15,17,19及び24を有する)は、変更履歴に機能単位「foobar」又はその別の名前である「foo」のいずれかを含むものである。すなわち、条件6は「or」条件である。
【0104】
変更履歴データ・リスト(362)は、変更履歴データ・リスト(361)においてグレーアウトされている変更履歴データを除いて又は非表示にして得られる変更履歴データ・リストである。
【0105】
ユーザは、変更履歴データ・リスト(361)又は変更履歴データ・リスト(362)のいずれかを表示装置(205)上に表示することを選択しうる。表示制御手段(204)は、上記選択に応じて、変更履歴データ・リスト(361)又は変更履歴データ・リスト(362)のいずれかを表示装置(205)上に表示しうる。
【0106】
以下に、本発明で使用しうるグラフィカル・ユーザ・インターフェースについて、
図4A〜
図4Bに示す例を参照しながら説明する。
【0107】
図4Aは、本発明の一つの実施態様において使用されうるグラフィカル・ユーザ・インターフェースの例を示す。
装置(101)の表示装置(205)は、2つのソースコードを表示するためのウィンドウ(401)を表示する。ウィンドウ(401)は、表示A(402)及び表示B(403)を有している。また、ウィンドウ(401)は、表示A(402)用及び表示B(403)用それぞれに指定された変更履歴データを他のバージョン番号を有する変更履歴データに変更するために使用される4つのボタンを有するボタン操作部(411)を有している。さらに、ウィンドウ(401)は、表示A(402)用に指定された変更履歴データを他のバージョン番号を有する変更履歴データに変更することをユーザが許可又は不許可するためのピン(431)、及び、表示B(403)用に指定された変更履歴データを他のバージョン番号を有する変更履歴データに変更することをユーザが許可又は不許可するためのピン(441)を有する。
【0108】
図4Aでは、ウィンドウ(401)の左側に表示A(402)が配置されており、且つ、その右側に表示B(403)が配置されている。本発明の他の実施態様において、ウィンドウ(401)の右側に表示A(402)が配置されており、且つ、その左側に表示B(403)が配置されていてもよい。
【0109】
表示A(402)は、例えば、ウィンドウ(401)の初期状態において、変更履歴データ中、最新のバージョン番号を有する変更履歴データに対応するソースコードを表示しうる。表示B(403)は、例えば、ウィンドウ(401)の初期状態において、変更履歴データ中、最新のバージョン番号より一つ前のバージョン番号を有する変更履歴データに対応するソースコードを表示しうる。ウィンドウ(401)の初期状態とは、ウィンドウ(401)上に2つの異なるバージョン番号を有する変更履歴データそれぞれに対応するソースコードを初めて表示したときの状態である。
【0110】
代替的には、ユーザが、特定ファイルの複数の変更履歴データのリストから、表示A(402)のための変更履歴データを選択し、且つ、表示A(402)のための変更履歴データを選択する。当該選択に応じて、表示制御手段(204)が、上記選択された変更履歴データに対応するソースコード又は当該ソースコードに関連付けられた情報を表示A(402)及び表示B(403)中に表示しうる。
【0111】
図4Aでは、ウィンドウ(401)は、表示A(402)及び表示B(403)という2つの表示を有している。本発明の他の実施態様において、ウィンドウ(401)が、さらに、表示C、表示D、・・・、及び、表示Nを有しうる。表示NのNの数(Nは少なくとも2以上の整数である)は、ユーザが任意に指定しうる。
【0112】
表示A(402)は、特定のファイルについての変更履歴データ中、最新のバージョン番号を有する変更履歴データに対応するソースコードを表示しているとする。表示B(403)は、上記と同じ特定のファイルについての変更履歴データ中、最新のバージョン番号より一つ前のバージョン番号を有する変更履歴データに対応するソースコードを表示しているとする。表示A(402)に示されているソースコードと表示B(403)に示されているソースコードとの違いは、下記の通りである。すなわち、表示A(402)では「int a = arg+2」(404)であるのに対して、表示B(403)では「int a= arg+1」(405)である。従って、ユーザは、表示A(402)に示されているソースコード中「int a = arg+2」(404)が、表示B(403)に示されているソースコード中「int a = arg+1」(405)から更新されたコードであることを知る。表示制御手段(204)は、表示A(402)中に表示されているソースコードと表示B(403)中に表示されているコードとの異なる部分を認識し、当該認識した部分を強調表示しうる。強調表示は、例えば
図4Aに示しているように上記認識部分を点線で囲んだり(404、405)、又は、上記認識部分のテキスト文字を他のテキスト文字の色と異なる色に変更したり、又は、上記認識部分のテキスト文字の背景色を表示A(402)及び表示B(403)それぞれのデフォルトの背景色と異なる色に変更したりすることによって行われうる。また、表示制御手段(204)は、表示A(402)中の点線部(404)と表示B(403)中の点線部(405)を例えば点線で関連付け、ユーザが上記異なる部分を把握しやすいようにしうる。
【0113】
ボタン操作部(411)は、
図4Aに示している例では、4つのボタン(421、422、423、及び424)を含む。ユーザが各ボタン(421、422、423、及び424)のいずれかをクリックすることによって、表示制御手段(204)は、下記に示すように、表示A(402)及び表示B(403)それぞれに表示されているソースコードの表示をバージョン番号の順に、又は、変更履歴データの作成順に変更しうる。なお、以下では、バージョン番号の順に変更される場合を例として述べるが、当該例が上記変更履歴データの作成順においても同様に適用されることは当業者に明白である。
【0114】
表示制御手段(204)は、ボタン(421)がクリックされることによって、表示A(402)に表示されているソースコードから、最新のバージョン番号を有する変更履歴データに対応するソースコードに表示を変更し、且つ、表示B(403)に表示されているソースコードから、最新のバージョン番号よりも一つ古い(すなわち前の)バージョン番号を有する変更履歴データに対応するソースコードに表示変更する。
【0115】
表示制御手段(204)は、ボタン(422)がクリックされることによって、表示A(402)に表示されているソースコードから、当該ソースコードに対応する変更履歴データのバージョン番号よりも1つ新しい(すなわち後の)バージョン番号を有する変更履歴データに対応するソースコードに表示を変更し、且つ、表示B(403)に表示されているソースコードから、当該ソースコードに対応する変更履歴データのバージョン番号よりも1つ新しい(すなわち後の)バージョン番号を有する変更履歴データに対応するソースコードに表示を変更するために使用される。
【0116】
表示制御手段(204)は、ボタン(423)がクリックされることによって、表示A(402)に表示されているソースコードから、当該ソースコードに対応する変更履歴データのバージョン番号よりも1つ古い(すなわち前の)バージョン番号を有する変更履歴データに対応するソースコードに表示を変更し、且つ、表示B(403)に表示されているソースコードから、当該ソースコードに対応する変更履歴データのバージョン番号よりも1つ古い(すなわち前の)バージョン番号を有する変更履歴データに対応するソースコードに表示を変更するために使用される。
【0117】
表示制御手段(204)は、ボタン(424)がクリックされることによって、表示B(403)に表示されているソースコードから、最古のバージョン番号を有する変更履歴データに対応するソースコードに表示を変更し、且つ、表示A(402)に表示されているソースコードから、最古のバージョン番号よりも一つ新しい(すなわち後の)バージョン番号を有する変更履歴データに対応するソースコードに表示変更するために使用される。
【0118】
図4Aでは、ボタン操作部(411)が4つのボタンを有する態様を示している。当業者であれば、ボタン操作部(411)がどのような機能を有するボタンを幾つ有するようにするかを任意に設定しうることは明白であろう。
【0119】
ピン(431)は、表示A(402)用に指定された変更履歴データを他のバージョン番号を有する変更履歴データに変更することをユーザが許可又は不許可するためのものであり、すなわち、表示A(402)に表示されているソースコードが、ボタン(421〜424)のクリックによってそのソースコードの表示が変更されること又は変更されないことをユーザが指定するために使用されうる。ピン(431)のアイコン(451)は、表示A(402)用に指定された変更履歴データを他のバージョン番号を有する変更履歴データに変更することをユーザが許可することを示し、一方、ピン(431)のアイコン(452)は、表示A(402)用に指定された変更履歴データを他のバージョン番号を有する変更履歴データに変更することをユーザが許可していないこと(ピン留めともいう)を示す。
【0120】
ピン(431)のアイコンがアイコン(451)であり、且つ、ピン(441)のアイコンがアイコン(461)である場合に、ユーザが各ボタン(421、422、423、及び424)のいずれかをクリックすることによって、表示制御手段(204)が表示A(402)及び表示B(403)それぞれに表示されているソースコードの表示をどのように変更するかについては、上記のボタン操作部(411)の説明において述べた通りである。
【0121】
ピン(431)のアイコンがアイコン(452)であり、且つ、ピン(441)のアイコンがアイコン(461)である場合に、ユーザが各ボタン(421、422、423、及び424)のいずれかをクリックすることによって、表示制御手段(204)は、下記に示すように、表示A(402)及び表示B(403)それぞれに表示されているソースコードの表示を変更する。
【0122】
表示制御手段(204)は、ボタン(421)がクリックされることによって、表示A(402)に表示されているソースコードの表示を変更せず、一方、表示B(403)に表示されているソースコードから、最新のバージョン番号よりも一つ古い(すなわち前の)バージョン番号を有する変更履歴データに対応するソースコードに表示変更する。
【0123】
表示制御手段(204)は、ボタン(422)がクリックされることによって、表示A(402)に表示されているソースコードの表示を変更せず、一方、表示B(403)に表示されているソースコードから、当該ソースコードに対応する変更履歴データのバージョン番号よりも1つ新しい(すなわち後の)バージョン番号を有する変更履歴データに対応するソースコードに表示を変更する。
【0124】
表示制御手段(204)は、ボタン(423)がクリックされることによって、表示A(402)に表示されているソースコードの表示を変更せず、一方、表示B(403)に表示されているソースコードから、当該ソースコードに対応する変更履歴データのバージョン番号よりも1つ古い(すなわち前の)バージョン番号を有する変更履歴データに対応するソースコードに表示を変更する。
【0125】
表示制御手段(204)は、ボタン(424)がクリックされることによって、表示A(402)に表示されているソースコードの表示を変更せず、一方、表示B(403)に表示されているソースコードから、最古のバージョン番号を有する変更履歴データに対応するソースコードに表示を変更する。
【0126】
ピン(441)は、表示B(403)用に指定された変更履歴データを他のバージョン番号を有する変更履歴データに変更することをユーザが許可又は不許可するためのものであり、すなわち、表示B(403)に表示されているソースコードが、ボタン(421〜424)のクリックによってそのソースコードの表示が変更されること又は変更されないことをユーザが指定するために使用されうる。ピン(441)のアイコン(461)は、表示B(403)用に指定された変更履歴データを他のバージョン番号を有する変更履歴データに変更することをユーザが許可することを示し、一方、ピン(441)のアイコン(462)は、表示B(403)用に指定された変更履歴データを他のバージョン番号を有する変更履歴データに変更することをユーザが許可していないこと(ピン留めともいう)を示す。
【0127】
ピン(431)のアイコンがアイコン(451)であり、且つ、ピン(441)のアイコンがアイコン(461)である場合に、ユーザが各ボタン(421、422、423、及び424)のいずれかをクリックすることによって、表示制御手段(204)が表示A(402)及び表示B(403)それぞれに表示されているソースコードの表示をどのように変更するかについては、上記のボタン操作部(411)の説明において述べた通りである。
【0128】
ピン(431)のアイコンがアイコン(451)であり、且つ、ピン(441)のアイコンがアイコン(462)である場合に、ユーザが各ボタン(421、422、423、及び424)のいずれかをクリックすることによって、表示制御手段(204)は、下記に示すように、表示A(402)及び表示B(403)それぞれに表示されているソースコードの表示を変更する。
【0129】
表示制御手段(204)は、ボタン(421)がクリックされることによって、表示A(402)に表示されているソースコードから、最新のバージョン番号を有する変更履歴データに対応するソースコードに表示を変更し、一方、表示B(403)に表示されているソースコードの表示を変更しない。
【0130】
表示制御手段(204)は、ボタン(422)がクリックされることによって、表示A(402)に表示されているソースコードから、当該ソースコードに対応する変更履歴データのバージョン番号よりも1つ新しい(すなわち後の)バージョン番号を有する変更履歴データに対応するソースコードに表示を変更し、一方、表示B(403)に表示されているソースコードの表示を変更しない。
【0131】
表示制御手段(204)は、ボタン(423)がクリックされることによって、表示A(402)に表示されているソースコードから、当該ソースコードに対応する変更履歴データのバージョン番号よりも1つ古い(すなわち前の)バージョン番号を有する変更履歴データに対応するソースコードに表示を変更し、一方、表示B(403)に表示されているソースコードの表示を変更しない。
【0132】
表示制御手段(204)は、ボタン(424)がクリックされることによって、表示A(402)に表示されているソースコードから、最古のバージョン番号よりも一つ新しい(すなわち後の)バージョン番号を有する変更履歴データに対応するソースコードに表示変更し、一方、表示B(403)に表示されているソースコードの表示を変更しない。
【0133】
ピン(431)のアイコンがアイコン(452)であり、且つ、ピン(441)のアイコンがアイコン(462)である場合に、ユーザが各ボタン(421、422、423、及び424)のいずれかをクリックしても、表示制御手段(204)は、表示A(402)及び表示B(403)のそれぞれに表示されているソースコードのいずれをも変更しない。ピン(431)及びピン(441)いずれのピンもピン留めされているからである。
【0134】
図4Bは、本発明の一つの実施態様において使用されうるグラフィカル・ユーザ・インターフェースの例を示す。
図4Bに示すウィンドウ(471)は、
図4Aに示すウィンドウ(401)内に表示されている表示A(402)、表示B(403)、ボタン操作部(411)、並びに、ピン(431)及びピン(441)に加えて、変更履歴データ・リスト(481)を有している。変更履歴データ・リスト(481)は、
図3Eに示す変更履歴データ・リスト(342)と同じであるが、変更履歴データ・リスト(481)の内容は例示である。
【0135】
表示制御手段(204)は、表示A(402)に表示されているソースコードを、「戻す」というボタン操作が行われることに応じて、バージョン番号が24,21,19,17,15,14及び12の順に、当該バージョン番号に対応するソースコードを表示するというナビゲーションをすることが可能であり、逆に、「進める」というボタン操作が行われることに応じて、バージョン番号が12,14,15,17,19,21及び24の順に、当該バージョン番号に対応するソースコードを表示するというナビゲーションをすることが可能である。また、表示制御手段(204)は、表示B(403)に表示されているソースコードを、上記「baz」での抽出後において、「戻す」というボタン操作が行われることに応じて、バージョン番号が21,19,17,15,14,12及び7の順に、当該バージョン番号に対応するソースコードを表示するというナビゲーションをすることが可能であり、逆に、「進める」というボタン操作が行われることに応じて、バージョン番号が7,12,14,15,17,19,21及び24の順に、当該バージョン番号に対応するソースコードを表示するというナビゲーションをすることが可能である。
【0136】
図4Aの説明において、表示A(402)及び表示B(403)に表示されているソースコードの表示をボタン操作部(411)のボタン(421〜424)をクリックすることによって、他のバージョン番号を有する変更履歴データに対応するソースコードにナビゲートしうることを述べた。
図4Bに示すように、ウィンドウ(471)が変更履歴データ・リスト(481)を表示している場合に、変更履歴データ・リスト上の特定の変更履歴データの行をマウス等で選択し、表示A(402)内又は表示B(403)内にドラッグ・アンド・ドロップすることによって、ドロップされた左記の表示A(402)又は表示B(403)に表示されているソースコードを上記選択された変更履歴データに対応するソースコードに表示変更することが可能である。以下に、当該表示変更について具体的に説明する。
【0137】
表示A(402)は、変更履歴データ・リスト(481)中のバージョン21に対応するソースコードを表示しているとする。表示B(403)は、変更履歴データ・リスト(481)中のバージョン12に対応するソースコードを表示しているとする。ユーザは、変更履歴データ・リスト(481)中のバージョン19が示されている行をマウスで選択してドラッグし、表示B(403)上でドロップする。表示制御手段(204)は、当該ドラッグ・アンド・ドロップに応じて、表示B(403)内に表示される、バージョン番号12を有する変更履歴データに対応するソースコードの表示を、バージョン番号19を有する変更履歴データに対応するソースコードの表示に置き換える。
【0138】
以下に、本発明の一つの実施態様に従い、グラフィカル・ユーザ・インターフェース上で、変更履歴データのうちから、ユーザによって特定された機能単位を含む変更履歴データを抽出し、当該抽出された変更履歴データの一覧を表示する例について、
図5A〜
図5Cに示す例を参照しながら説明する。
【0139】
図5Aは、本発明の一つの実施態様に従い、グラフィカル・ユーザ・インターフェース上で、変更履歴データのうちから、ユーザによって特定された機能単位を含む変更履歴データを「and」条件を用いて抽出し、当該抽出された変更履歴データの一覧を表示する例を示す。
表示装置(205)は、ウィンドウ(401)と特定のファイルについての変更履歴データ・リスト(312)とを表示している。
図5Aに示すウィンドウ(401)は、
図4Aに示すウィンドウ(401)と同じである。ウィンドウ(401)は、表示A(402)及び表示B(403)という2つの表示を有している。また、
図5Aに示す変更履歴データ・リスト(312)は、
図3Bに示す変更履歴データ・リスト(312)と同じである。
【0140】
表示制御装置(204)は、表示A(402)に、変更履歴データ・リスト(312)中のバージョン番号が19である変更履歴データに対応するソースコードを表示しているとする。また、表示制御装置(204)は、表示B(403)に、変更履歴データ・リスト(312)中のバージョン番号が17である変更履歴データに対応するソースコードを表示しているとする。
【0141】
ユーザは、変更履歴データ・リスト(312)中の変更履歴データのうちから、さらに機能単位「baz」を含む変更履歴データを抽出したいとする。そこで、ユーザは、機能単位の入力をするために、メニュー・コマンドからポップアップ・ウィンドウを表示させるメニューを選択する。当該選択によって、表示制御手段(204)は、ポップアップ・ウィンドウ(501)を表示装置(205)上に表示する。代替的には、ユーザは、機能単位の入力をするために、ウィンドウ(401)内で例えば右クリックすることによって、ポップアップ・ウィンドウ(501)を表示させる。また、表示制御手段(204)は、ポップアップ・ウィンドウ(501)と同時に、条件「and」及び「or」の選択をクリックによって指定することが可能なポップアップ・ウィンドウ(502)をさらに表示しうる。代替的に、ユーザは、表示A(402)及び表示B(403)中に表示されているソースコードから目的とする機能単位をクリックで選択して、特定の機能単位を指定することが可能である。
【0142】
ユーザは、ポップアップ・ウィンドウ(501)内に特定の機能単位である「baz」を入力し、且つ、ポップアップ・ウィンドウ(502)中の「and」をクリックで又はパネルタッチで選択したとする。代替的に、ユーザは、ポップアップ・ウィンドウ(501)内に、検索条件である「and」と特定の機能単位である「baz」を入力(例えば、「and baz」と入力)したとする。抽出手段(203)が、上記入力に応じて、変更履歴データ・リスト(312)中の変更履歴データのうちからユーザによって特定された機能単位である「baz」を含む変更履歴データをさらに抽出する。当該抽出した結果は、変更履歴データ・リスト(332)に示す通りである。
図5Aに示す変更履歴データ・リスト(332)は、
図3Dに示す変更履歴データ・リスト(332)と同じである。そして、表示制御手段(204)は、変更履歴データ・リスト(312)の表示を変更履歴データ・リスト(332)の表示に置き換える。
【0143】
上記例では、ユーザによって特定された機能単位である「baz」で、変更履歴データ・リスト(312)中の変更履歴データのうちから、バージョン番号14、15及び19を有する変更履歴データが抽出された。抽出後の表示A(402)では、抽出前に表示していたソースコードに対応し且つバージョン番号19を有する変更履歴データが、変更履歴データ・リスト(332)中にある。従って、表示A(402)に表示されているソースコードは変更されない。一方、抽出後の表示B(403)では、抽出前に表示していたソースコードに対応し且つバージョン番号17を有する変更履歴データが、変更履歴データ・リスト(332)中にない。そこで、表示制御手段(204)は、表示B(403)に表示されているソースコードを、バージョン番号17の直前にあり且つ変更履歴データ・リスト(332)中にあるという条件を満たす変更履歴データ、すなわちバージョン番号15を有する変更履歴データに対応するソースコードに変更して表示する(図示せず)。
【0144】
表示制御手段(204)は、表示A(402)に表示されているソースコードを、上記「baz」での抽出後において、「戻す」というボタン操作が行われることに応じて、バージョン番号が19及び15の順に、当該バージョン番号に対応するソースコードを表示するというナビゲーションをすることが可能であり、逆に、「進める」というボタン操作が行われることに応じて、バージョン番号が15及び19の順に、当該バージョン番号に対応するソースコードを表示するというナビゲーションをすることが可能である。また、表示制御手段(204)は、表示B(403)に表示されているソースコードを、上記「baz」での抽出後において、「戻す」というボタン操作が行われることに応じて、バージョン番号が15及び14の順に、当該バージョン番号に対応するソースコードを表示するというナビゲーションをすることが可能であり、逆に、「進める」というボタン操作が行われることに応じて、バージョン番号が14及び15の順に、当該バージョン番号に対応するソースコードを表示するというナビゲーションをすることが可能である。
【0145】
図5Bは、本発明の一つの実施態様に従い、グラフィカル・ユーザ・インターフェース上で、変更履歴データのうちから、ユーザによって特定された機能単位を含む変更履歴データを「or」条件を用いて抽出し、当該抽出された変更履歴データの一覧を表示する例を示す。
表示装置(205)は、ウィンドウ(401)と特定のファイルについての変更履歴データ・リスト(312)を表示している。
図5Bに示すウィンドウ(401)は、
図4Aに示すウィンドウ(401)と同じである。ウィンドウ(401)は、表示A(402)及び表示B(403)という2つの表示を有している。また、
図5Bに示す変更履歴データ・リスト(312)は、
図3Bに示す変更履歴データ・リスト(312)と同じである。
【0146】
表示制御装置(204)は、表示A(402)に、変更履歴データ・リスト(312)中のバージョン番号が19である変更履歴データに対応するソースコードを表示しているとする。また、表示制御装置(204)は、表示B(403)に、変更履歴データ・リスト(312)中のバージョン番号が17である変更履歴データに対応するソースコードを表示しているとする。
【0147】
ユーザは、記憶手段(206)に格納されている変更履歴データ(212)中の上記特定のファイルについての変更履歴データの全てから、機能単位「baz」を含む変更履歴データを抽出し、当該抽出した変更履歴データと変更履歴データ・リスト(312)中の変更履歴データとを結合させたいとする。そこで、ユーザは、機能単位の入力をするために、メニュー・コマンドからポップアップ・ウィンドウを表示させるメニューを選択する。当該選択によって、表示制御手段(204)は、ポップアップ・ウィンドウ(501)を表示装置(205)上に表示する。代替的には、ユーザは、機能単位の入力をするために、ウィンドウ(401)内で例えば右クリックすることによって、ポップアップ・ウィンドウ(501)を表示させる。また、表示制御手段(204)は、ポップアップ・ウィンドウ(501)と同時に、条件「and」及び「or」の選択をクリックによって指定することが可能なポップアップ・ウィンドウ(502)をさらに表示しうる。代替的に、ユーザは、表示A(402)及び表示B(403)中に表示されているソースコードから目的とする機能単位をクリックで選択して、特定の機能単位を指定することが可能である。
【0148】
ユーザは、ポップアップ・ウィンドウ(501)内に特定の機能単位である「baz」を入力し、且つ、ポップアップ・ウィンドウ(502)中の「or」をクリックで又はパネルタッチで選択したとする。代替的に、ユーザは、ポップアップ・ウィンドウ(501)内に、検索条件である「or」と特定の機能単位である「baz」を入力(例えば、「or baz」と入力)したとする。抽出手段(203)が、上記入力に応じて、記憶手段(206)に格納されている上記特定のファイルについての変更履歴データの全てからユーザによって特定された機能単位である「baz」を含む変更履歴データをさらに抽出する。そして、抽出手段(203)は、当該抽出した変更履歴データと変更履歴データ・リスト(312)中の変更履歴データとを「or」条件で結合する。当該結合した結果は、変更履歴データ・リスト(342)に示す通りである。
図5Bに示す変更履歴データ・リスト(342)は、
図3Eに示す変更履歴データ・リスト(342)と同じである。そして、表示制御手段(204)は、変更履歴データ・リスト(312)の表示を変更履歴データ・リスト(342)の表示に置き換える。
【0149】
上記例では、ユーザによって特定された機能単位である「baz」で、記憶手段(206)に格納されている上記特定のファイルについての変更履歴データの全てから、バージョン番号が7,12及び21を有する変更履歴データが抽出され、そして当該抽出された変更履歴データ(バージョン番号が7、12及び21を有する)と変更履歴データ・リスト中の変更履歴データ(14,15,17,19及び24)とが結合されている。抽出後の表示A(402)では、抽出前に表示していたソースコードに対応し且つバージョン番号19を有する変更履歴データが、変更履歴データ・リスト(342)中にあるので、表示A(402)に表示されているソースコードは変更されない。また、抽出後の表示B(403)では、抽出前に表示していたソースコードに対応し且つバージョン番号17を有する変更履歴データが、変更履歴データ・リスト(332)中にあるので、表示B(403)に表示されているソースコードは変更されない。
【0150】
表示制御手段(204)は、表示A(402)に表示されているソースコードを、上記「baz」での抽出後において、「戻す」というボタン操作が行われることに応じて、バージョン番号が24,21,19,17,15,14及び12の順に、当該バージョン番号に対応するソースコードを表示するというナビゲーションをすることが可能であり、逆に、「進める」というボタン操作が行われることに応じて、バージョン番号が12,14,15,17,19,21及び24の順に、当該バージョン番号に対応するソースコードを表示するというナビゲーションをすることが可能である。また、表示制御手段(204)は、表示B(403)に表示されているソースコードを、上記「baz」での抽出後において、「戻す」というボタン操作が行われることに応じて、バージョン番号が21,19,17,15,14,12及び7の順に、当該バージョン番号に対応するソースコードを表示するというナビゲーションをすることが可能であり、逆に、「進める」というボタン操作が行われることに応じて、バージョン番号が7,12,14,15,17,19及び21の順に、当該バージョン番号に対応するソースコードを表示するというナビゲーションをすることが可能である。
【0151】
図5Cは、本発明の一つの実施態様に従い、グラフィカル・ユーザ・インターフェース上で、特定の機能単位が別の特定の機能単位の別の名前であるという指定をユーザが行うことを可能にし、且つ、変更履歴データのうちから、当該ユーザによって指定された機能単位を含む変更履歴データを抽出し、当該抽出された変更履歴データの一覧を表示する例を示す。
表示装置(205)は、ウィンドウ(511)と特定のファイルについての変更履歴データ・リスト(312)を表示している。ウィンドウ(511)は、表示A(512)及び表示B(513)という2つの表示を有している。また、
図5Bに示す変更履歴データ・リスト(312)は、
図3Bに示す変更履歴データ・リスト(312)と同じである。
【0152】
表示制御装置(204)は、表示A(512)に、変更履歴データ・リスト(312)中のバージョン番号が19である変更履歴データに対応するソースコードを表示しているとする。また、表示制御装置(204)は、表示B(513)に、変更履歴データ・リスト(312)中のバージョン番号が17である変更履歴データに対応するソースコードを表示しているとする。
【0153】
表示A(512)はバージョン番号が19である変更履歴データに対応するソースコードを表示し、且つ、表示B(513)はバージョン番号が17である第2のバージョンを有する変更履歴データに対応するソースコードを表示している。従って、表示A(512)中に表示されているソースコードは、表示B(513)中に表示されているソースコードが編集された後のソースコードであることがわかる。従って、ユーザは、表示A(512)中の点線部(514)と表示B(511)中の表示部(515)とを見比べることによって、表示A(512)中の「foobar」は、表示B(513)中の「foo」が「foobar」に訂正されたものであることを知る。すなわち、表示A(512)における機能単位「foobar」が、表示B(513)では「foo」であったことがわかる。
【0154】
ユーザは、表示B(513)中の「foo」が表示A(512)中の「foobar」の別の名前である機能単位であるとみなして、変更履歴データ(312)を更新したいとする。そこで、ユーザは、表示B(513)中の「foo」が表示A(512)中の「foobar」の別の名前であるという指定をするために、表示B(513)中の「foo」を例えば左クリックでドラッグして「foo」全体を選択し、次に、表示A(512)中の「foobar」を例えば同様に左クリックでドラッグして「foobar」全体を選択する。代替的には、ユーザは、メニュー・コマンドからポップアップ・ウィンドウを表示させるメニューを選択する。当該選択によって、表示制御手段(204)は、ポップアップ・ウィンドウ(図示せず)を表示装置(205)上に表示する。ユーザは、当該ポップアップ・ウィンドウ内に、表示B(513)中の「foo」が表示A(512)中の「foobar」の別の名前であることを、条件式を用いて指定する。
【0155】
抽出手段(203)は、表示B(513)中の「foo」が表示A(512)中の「foobar」の別の名前であるという指定に応じて、記憶手段(206)に格納されている上記特定のファイルについての変更履歴データの全てからユーザによって特定された機能単位である「foo」を含む変更履歴データを抽出する。そして、抽出手段(203)は、変更履歴データ・リスト(312)中の変更履歴データと、上記抽出された「foo」を含む変更履歴データとを「or」条件で結合する。当該結合した結果は、変更履歴データ・リスト(362)に示す通りである。
図5Cに示す変更履歴データ・リスト(362)は、
図3Gに示す変更履歴データ・リスト(362)と同じである。そして、表示制御手段(204)は、変更履歴データ・リスト(312)の表示を変更履歴データ・リスト(362)の表示に置き換える。
【0156】
上記例では、表示B(513)中の「foo」(515)が表示A(512)中の「foobar」(514)の別の名前であるという指定に応じて、記憶手段(206)に格納されている上記特定のファイルについての変更履歴データの全てから、バージョン番号が3,5,6,7及び13を有する変更履歴データが抽出され、そして当該抽出された変更履歴データ(バージョン番号が3,5,6,7及び13を有する)と変更履歴データ・リスト中の変更履歴データ(14,15,17,19及び24)とが結合されている。抽出後の表示A(512)では、抽出前に表示していたソースコードに対応し且つバージョン番号19を有する変更履歴データが、変更履歴データ・リスト(362)中にあるので、表示A(512)に表示されているソースコードは変更されない。また、抽出後の表示B(513)では、抽出前に表示していたソースコードに対応し且つバージョン番号17を有する変更履歴データが、変更履歴データ・リスト(362)中にあるので、表示B(513)に表示されているソースコードは変更されない。
【0157】
表示制御手段(204)は、表示A(512)に表示されているソースコードを、上記結合後において、「戻す」というボタン操作が行われることに応じて、バージョン番号が24,19,17,15,14,13,7,6及び5の順に、当該バージョン番号に対応するソースコードを表示するというナビゲーションをすることが可能であり、逆に、「進める」というボタン操作が行われることに応じて、バージョン番号が5,6,7,13,14,15,17,19及び24の順に、当該バージョン番号に対応するソースコードを表示するというナビゲーションをすることが可能である。また、表示制御手段(204)は、表示B(513)に表示されているソースコードを、上記結合後において、「戻す」というボタン操作が行われることに応じて、バージョン番号が19,17,15,14,13,7,6,5及び3の順に、当該バージョン番号に対応するソースコードを表示するというナビゲーションをすることが可能であり、逆に、「進める」というボタン操作が行われることに応じて、バージョン番号が3,5,6,7,13,14,15,17及び19の順に、当該バージョン番号に対応するソースコードを表示するというナビゲーションをすることが可能である。
【0158】
上記では、表示B(513)中の「foo」が表示A(512)中の「foobar」の別の名前であるという指定をユーザが行う態様を説明した。代替的に、抽出手段(203)は、表示B(513)中の「foo」が表示A(512)中の「foobar」の別の名前であることを記憶手段(206)に記憶されている機能単位テーブル(図示せず)から判定しうる。機能単位テーブルは、ある特定の機能単位(例えば、上記「foo」)が、別の特定の機能単位(例えば、上記「foobar」)と同値であることを定義するリストでありうる。表示制御手段(204)が表示B(513)中の「foo」が表示A(512)中の「foobar」の別の名前であることを上記機能単位テーブルを使用しても判別できない場合に、表示制御手段(204)は、上記したとおり、ユーザが手動で上記指定をすることを可能にしうる。
【0159】
以下に、本発明の一つの実施態様に従い、2つの異なるバージョン番号を有する変更履歴データそれぞれに対応するソースコードを表示装置上に表示し、各変更履歴に対応するソースコードの表示をバージョンに従い進めたり又は戻したりする例について、
図6A〜
図6Cに示す例を参照しながら説明する。
【0160】
図6Aは、本発明の一つの実施態様に従い、2つの異なるバージョン番号を有する変更履歴データそれぞれに対応するソースコードを表示装置上に表示し、各変更履歴に対応するソースコードの表示をバージョンに従い進めたり又は戻したりする例を示す。
表示装置(205)は、ウィンドウ(601)を表示している。ウィンドウ(601)は、表示A(602)及び表示B(603)という2つの表示を有している。なお、
図6Aでは、変更履歴データ・リストを表示していないが、表示装置(205)は、任意的に、変更履歴データ・リストを表示しうる。
【0161】
特定のファイルについての変更履歴データ・リスト上に、バージョン番号が2,4,6及び7である各変更履歴データが存在し、バージョン番号が3及び5である各変更履歴データが存在しないものとする。また、表示A(602)は、バージョン番号が6である変更履歴データに対応するソースコードを表示し、且つ、表示B(603)は、バージョン番号が4である変更履歴データに対応するソースコードを表示しているとする。表示A(602)中に表示されているソースコードと表示B(603)中に表示されているソースコードとの相違部分が、符号604及び符号605に示すようにそれぞれ点線で囲んで強調表示されており、及び、任意的に表示A(602)中の点線部(604)と表示B(603)の点線部(605)とが点線で結びつけられて強調表示されている。
【0162】
ユーザは、ボタン(422)を例えば左クリックしたとする。表示制御手段(204)は、ボタン(422)がクリックされることによって、表示A(602)に表示されているソースコードから、当該ソースコードに対応する変更履歴データのバージョン番号よりも1つ新しい(すなわち後の)バージョン番号を有する変更履歴データに対応するソースコードに表示を変更し、且つ、表示B(603)に表示されているソースコードから、当該ソースコードに対応する変更履歴データのバージョン番号よりも1つ新しい(すなわち後の)バージョン番号を有する変更履歴データに対応するソースコードに表示を変更する。すなわち、表示制御手段(204)は、ウィンドウ(611)に示すように、表示A(612)において、バージョン番号6よりも一つ新しいバージョン番号7を有する変更履歴データに対応するソースコードを表示し、且つ、表示B(613)において、バージョン番号4よりも一つ新しいバージョン番号6を有する変更履歴データに対応するソースコードを表示する。また、表示制御手段(204)は、表示A(612)中に表示されているソースコードと表示B(613)中に表示されているソースコードとの相違部分を、符号614及び符号615に示すようにそれぞれ例えば点線で囲んで強調表示し、及び、任意的に表示A(612)中の点線部(614)と表示B(613)の点線部(615)を例えば点線で結びつけて強調表示しうる。
【0163】
ユーザは、ボタン(423)を例えば左クリックしたとする。表示制御手段(204)は、ボタン(423)がクリックされることによって、表示A(602)に表示されているソースコードから、当該ソースコードに対応する変更履歴データのバージョン番号よりも1つ古いバージョン番号を有する変更履歴データに対応するソースコードに表示を変更し、且つ、表示B(603)に表示されているソースコードから、当該ソースコードに対応する変更履歴データのバージョン番号よりも1つ古いバージョン番号を有する変更履歴データに対応するソースコードに表示を変更する。すなわち、表示制御手段(204)は、ウィンドウ(621)に示すように、表示A(622)において、バージョン番号6よりも一つ古いバージョン番号4を有する変更履歴データに対応するソースコードを表示し、且つ、表示B(613)において、バージョン番号4よりも一つ古いバージョン番号2を有する変更履歴データに対応するソースコードを表示する。また、表示制御手段(204)は、表示A(622)中に表示されているソースコードと表示B(623)中に表示されているソースコードとの相違部分を、符号624及び符号625に示すようにそれぞれ例えば点線で囲んで強調表示し、及び、任意的に表示A(622)中の点線部(624)と表示B(623)の点線部(625)を例えば点線で結びつけて強調表示しうる。
【0164】
図6Bは、本発明の一つの実施態様に従い、2つの異なるバージョン番号を有する変更履歴データそれぞれに対応するソースコードを表示装置上に表示し、一方の変更履歴データに対応するソースコードの表示を固定し、他方の変更履歴データに対応するソースコードの表示をバージョンに従い進めたり又は戻したりする例を示す。
表示装置(205)は、ウィンドウ(631)を表示している。ウィンドウ(631)は、表示A(632)及び表示B(633)という2つの表示を有している。なお、
図6Bでは、変更履歴データ・リストを表示していないが、表示装置(205)は、任意的に、変更履歴データ・リストを表示しうる。
【0165】
特定のファイルについての変更履歴データ・リスト上に、バージョン番号が2,4,6,7及び8である各変更履歴データが存在し、バージョン番号が3及び5である各変更履歴データが存在しないものとする。また、表示A(632)は、バージョン番号が7である変更履歴データに対応するソースコードを表示し、且つ、表示B(633)は、バージョン番号が4である変更履歴データに対応するソースコードを表示しているとする。表示A(632)中に表示されているソースコードと表示B(633)中に表示されているソースコードとの相違部分が、符号634及び符号635に示すようにそれぞれ点線で囲んで強調表示されており、及び、任意的に表示A(632)中の点線部(634)と表示B(633)の点線部(635)とが点線で結びつけられて強調表示されている。
【0166】
ユーザは、表示A(632)に関連付けられたピン(431)を例えば左クリックし、次に、ボタン(422)を例えば左クリックしたとする。
【0167】
表示制御手段(204)は、ピン(431)がクリックされることに応じて、表示A(632)に表示されているソースコードの表示を固定する。次に、表示制御手段(204)は、ボタン(422)がクリックされることに応じて、ウィンドウ(641)に示すように、表示A(642)に表示されているソースコードの表示を変更せず、且つ、表示B(643)において、バージョン番号4よりも一つ新しいバージョン番号6を有する変更履歴データに対応するソースコードを表示する。また、表示制御手段(204)は、表示A(642)中に表示されているソースコードと表示B(643)中に表示されているソースコードとの相違部分を、符号644及び符号645に示すようにそれぞれ例えば点線で囲んで強調表示し、及び、任意的に表示A(642)中の点線部(644)と表示B(643)の点線部(645)を例えば点線で結びつけて強調表示しうる。
【0168】
ユーザは、表示A(632)に関連付けられたピン(431)を例えば左クリックし、次に、ボタン(423)を例えば左クリックしたとする。
【0169】
表示制御手段(204)は、ピン(431)がクリックされることに応じて、表示A(632)に表示されているソースコードの表示を固定する。次に、表示制御手段(204)は、ボタン(422)がクリックされることに応じて、ウィンドウ(651)に示すように、表示A(652)に表示されているソースコードの表示を変更せず、且つ、表示B(653)において、バージョン番号4よりも一つ古いバージョン番号2を有する変更履歴データに対応するソースコードを表示する。また、表示制御手段(204)は、表示A(652)中に表示されているソースコードと表示B(653)中に表示されているソースコードとの相違部分を、符号654及び符号655に示すようにそれぞれ例えば点線で囲んで強調表示し、及び、任意的に表示A(652)中の点線部(654)と表示B(653)の点線部(655)を例えば点線で結びつけて強調表示しうる。
【0170】
図6Cは、本発明の一つの実施態様に従い、2つの異なるバージョン番号を有する変更履歴データそれぞれに対応するソースコードを表示装置上に表示し、各変更履歴に対応するソースコードの表示をバージョンに従い進めたり又は戻したりする例を示す。
表示装置(205)は、ウィンドウ(661)を表示している。ウィンドウ(661)は、表示A(662)及び表示B(663)という2つの表示を有している。なお、
図6Cでは、変更履歴データ・リストを表示していないが、表示装置(205)は、任意的に、変更履歴データ・リストを表示しうる。
【0171】
特定のファイルについての変更履歴データ・リスト上に、機能単位「bar」を含む各変更履歴データ(バージョン番号が6及び8である)が存在し、且つ、機能単位「bar」の別の名前であるとしてユーザによって指定された「foo」を含む各変更履歴データ(バージョン番号が2及び4である)がさらに存在し、バージョン番号が3、5及び7である各変更履歴データが存在しないものとする。また、表示A(662)は、バージョン番号が6である変更履歴データに対応するソースコードを表示し、且つ、表示B(663)は、バージョン番号が4である変更履歴データに対応するソースコードを表示しているとする。表示A(662)中に表示されているソースコードと表示B(663)中に表示されているソースコードとの相違部分が、符号664及び符号665に示すようにそれぞれ点線で囲んで強調表示されており、及び、任意的に表示A(662)中の点線部(664)と表示B(663)の点線部(665)とが点線で結びつけられて強調表示されている。
【0172】
ユーザは、ボタン(422)を例えば左クリックしたとする。表示制御手段(204)は、ボタン(422)がクリックされることによって、ウィンドウ(671)に示すように、表示A(672)において、バージョン番号6よりも一つ新しいバージョン番号8を有する変更履歴データに対応するソースコードを表示し、且つ、表示B(673)において、バージョン番号4よりも一つ新しいバージョン番号6を有する変更履歴データに対応するソースコードを表示する。また、表示制御手段(204)は、表示A(672)中に表示されているソースコードと表示B(673)中に表示されているソースコードとの相違部分を、符号674及び符号675に示すようにそれぞれ例えば点線で囲んで強調表示し、及び、任意的に表示A(672)中の点線部(674)と表示B(673)の点線部(675)を例えば点線で結びつけて強調表示しうる。
【0173】
ユーザは、ボタン(423)を例えば左クリックしたとする。表示制御手段(204)は、ボタン(423)がクリックされることによって、ウィンドウ(681)に示すように、表示A(682)において、バージョン番号6よりも一つ古いバージョン番号4を有する変更履歴データに対応するソースコードを表示し、且つ、表示B(683)において、バージョン番号4よりも一つ古いバージョン番号2を有する変更履歴データに対応するソースコードを表示する。また、表示制御手段(204)は、表示A(682)中に表示されているソースコードと表示B(683)中に表示されているソースコードとの相違部分を、符号684及び符号685に示すようにそれぞれ例えば点線で囲んで強調表示し、及び、任意的に表示A(682)中の点線部(684)と表示B(683)の点線部(685)を例えば点線で結びつけて強調表示しうる。
【0174】
図7は、本発明の一つの実施態様に従い、特定のファイルについての複数の変更履歴データのうちからユーザによって特定された機能単位を含む変更履歴データを抽出し、当該抽出された変更履歴データの一覧を表示し又は作成し、当該一覧のうちの少なくとも2つの異なる変更履歴データに対応するソースコード又は当該ソースコードに関連付けられた情報を表示する処理のためのフローチャートを示す。
ステップ701では、コンピュータ(101)は、上記処理を開始する。
【0175】
ステップ702では、入力手段(201)は、ユーザから、変更履歴データに対応するソースコード又は当該ソースコードに関連付けられた情報を表示する対象である特定のファイルの名前、及び、任意的に、機能単位の特定を含む条件式の入力を受信する。代替的に、入力手段(201)がステップ702において条件式を受信する代わりに、下記ステップ704において、上記特定のファイルについての変更履歴データが存在することが確認されたことに応じて、上記条件式の入力が入力手段(201)を介して可能なようにされてもよい。
【0176】
ステップ703では、抽出手段(203)は、上記特定のファイルの名前及び、任意的に、上記条件式の受信に応じて、抽出手段(203)は、上記ユーザが入力した特定のファイルについての変更履歴データを要求する。
【0177】
ステップ704では、抽出手段(203)は、上記特定のファイルについての変更履歴データが記憶手段(206)内に存在する場合に処理をステップ705に進める。一方、抽出手段(203)は、上記変更履歴データが記憶手段(206)内に存在しない場合に処理をエラー出力であるステップ706に進める。
【0178】
ステップ705では、抽出手段(203)は、上記変更履歴データが記憶手段(206)内に存在することに応じて、上記変更履歴データ(
図2Bを参照)の全てを記憶手段(206)から取得する。
【0179】
ステップ706では、表示制御手段(204)は、上記変更履歴データが記憶手段(206)内に存在しないことに応じて、上記変更履歴データ(
図2Bを参照)を取得できないために上記処理を実行できない旨のエラーメッセージを表示装置(205)上に表示しうる。
【0180】
ステップ707では、抽出手段(203)は、上記取得した変更履歴データの全てから、上記ユーザが入力した機能単位(特許請求の範囲に記載の「第1の機能単位」に対応する)を含む変更履歴データ(特許請求の範囲に記載の「第1の変更履歴データ」に対応する)を抽出する。
【0181】
ステップ708では、表示制御手段(204)は、上記抽出した第1の変更履歴データの一覧(特許請求の範囲に記載の「第1の一覧」に対応する)(213)を記憶手段(206)内に作成する。代替的に、表示制御手段(204)は、上記抽出した第1の変更履歴データの第1の一覧(213)を表示装置(205)上に表示する(例えば、
図3Bの変更履歴データ・リスト(311)及び同図の変更履歴データ・リスト(312)を参照)。
【0182】
ステップ709では、表示制御手段(204)は、上記第1の一覧のうちの少なくも2つの異なる変更履歴データそれぞれに対応するソースコード又は当該ソースコードに関連付けられた情報を表示装置(205)上に表示する(例えば、
図4Aの表示A(402)及び表示B(403)を参照)。
【0183】
ステップ710では、表示制御手段(204)は、上記処理の終了を指示する旨を受信することに応じて、当該処理を終了する。
【0184】
図8A及び
図8Bは、
図7に示すフローチャートに従い抽出された変更履歴データに対してさらに処理をして、変更履歴データのリストを動的に更新する処理のためのフローチャートを示す。
ステップ801では、コンピュータ(101)は、上記動的に更新する処理を開始する。
【0185】
ステップ802では、入力手段(201)が、ユーザから入力を受信する。抽出手段(203)は、ユーザから受信した上記入力が
図7に示すステップ707において抽出された第1の変更履歴データ・リスト中の変更履歴データに対する変更要求であるかどうかを判断する。当該変更要求は、上記第1の機能単位と異なる機能単位(特許請求の範囲に記載の「第2の機能単位」に対応する)の特定を含む条件式を有しうる。抽出手段(203)は、上記受信した入力が上記第1の変更履歴データ・リスト中の変更履歴データに対する変更要求であることに応じて、処理をステップ803に進める。一方、抽出手段(203)は、上記受信した入力が上記第1の変更履歴データ・リスト中の変更履歴データに対する変更要求でないことに応じて、上記動的に更新する処理を終了する(ステップ811)。
【0186】
ステップ803では、抽出手段(203)は、受信した入力が上記第1の変更履歴データ・リスト中の変更履歴データに対する変更要求、
図8Aに示すステップ807において抽出された変更履歴データに対する変更要求、又は
図8Bに示すステップ823で組み合わせられた変更履歴データに対する変更要求のいずれかであることに応じて、上記変更要求が上記特定のファイルについての変更履歴データの全てを対象とするものであるかどうかを判断する。例えば、抽出手段(203)は、上記変更要求中の条件式が「or」を含む場合には、上記変更要求が、上記特定のファイルについての変更履歴データの全てを対象とするものであると判断しうる。一方、抽出手段(203)は、上記変更要求中の条件式が「and」を含む場合には、上記変更要求が、上記特定のファイルについての変更履歴データの全てを対象とするものでないと判断しうる。抽出手段(203)は、上記変更要求が、上記特定のファイルについての変更履歴データの全てを対象とするものであることに応じて、処理を
図8Bに示すステップ821に進める。一方、抽出手段(203)は、上記変更要求が上記特定のファイルについての変更履歴データの全てを対象とするものでないことに応じて、処理をステップ804に進める。
【0187】
ステップ804では、抽出手段(203)は、上記変更要求が、上記第1の変更履歴データ、ステップ807において抽出された変更履歴データ、又はステップ823で組み合わせられた変更履歴データを対象とするものであるかどうかを判断する。例えば、抽出手段(203)は、上記変更要求中の条件式が「and」である場合には、上記変更要求が上記第1の変更履歴データを対象とするものであると判断しうる。抽出手段(203)は、上記変更要求が上記第1の変更履歴データ、ステップ807において抽出された変更履歴データ、又はステップ823で組み合わせられた変更履歴データを対象とするものであることに応じて、処理をステップ805に進める。一方、抽出手段(203)は、上記変更要求が上記第1の変更履歴データ、上記ステップ807において抽出された変更履歴データ、及び上記ステップ823で組み合わせられた変更履歴データを対象とするものでないことに応じて、処理をエラー出力であるステップ806に進める。
【0188】
ステップ805では、抽出手段(203)は、上記変更要求がステップ804で特定された変更履歴データであることに応じて、当該ステップ804で特定された上記第1の変更履歴データ、上記ステップ807において抽出された変更履歴データ、又は上記ステップ823で組み合わせられた変更履歴データのうちのいずれかの変更履歴データの全てを記憶手段(206)から取得する。
【0189】
ステップ806では、表示制御手段(204)は、上記変更要求が上記第1の変更履歴データ、ステップ807において抽出された変更履歴データ、及びステップ823で組み合わせられた変更履歴データを対象とするものでないことに応じて、上記変更要求を実行することができない旨又は変更要求が適切でない旨のエラーメッセージを表示装置(205)上に表示しうる。
【0190】
ステップ807では、抽出手段(203)は、上記取得した各変更履歴データの全てから、上記ユーザが入力した機能単位を含む変更履歴データを抽出する。ステップ805で特定された変更履歴データが第1の変更履歴データである場合、抽出手段(203)は、当該取得した第1の変更履歴データの全てから、上記ユーザが入力した第2の機能単位を含む変更履歴データ(特許請求の範囲に記載の「第2の変更履歴データ」に対応する)を抽出する。
【0191】
ステップ808では、表示制御手段(204)は、ステップ807において抽出された変更履歴データの一覧(213)を記憶手段(206)内に作成する。代替的に、表示制御手段(204)は、ステップ807において抽出された上記変更履歴データの一覧(213)を表示装置(205)上に表示する。ステップ805で特定された変更履歴データが第1の変更履歴データである場合、表示制御手段(204)は、ステップ807において抽出された第2の変更履歴データの一覧(特許請求の範囲に記載の「第2の一覧」に対応する)(213)を記憶手段(206)内に作成する。代替的に、表示制御手段(204)は、上記抽出した第2の変更履歴データの第2の一覧(213)を表示装置(205)上に表示する(例えば、
図3Dの変更履歴データ・リスト(331)及び同図の変更履歴データ・リスト(332)、並びに、
図5Aの変更履歴データ・リスト(332)を参照)。
【0192】
ステップ809では、表示制御手段(204)は、ステップ808で作成された一覧のうちの少なくも2つの異なる変更履歴データそれぞれに対応するソースコード又は当該ソースコードに関連付けられた情報を表示装置(205)上に表示する。ステップ805で特定された変更履歴データが第1の変更履歴データである場合、表示制御手段(204)は、上記第2の一覧のうちの少なくも2つの異なる変更履歴データそれぞれに対応するソースコード又は当該ソースコードに関連付けられた情報を表示装置(205)上に表示する(例えば、
図5Aの表示A(402)及び表示B(403)を参照)。
【0193】
ステップ810では、入力手段(201)が、ユーザから入力を受信する。抽出手段(203)は、ユーザから受信した上記入力がステップ807において抽出された変更履歴データ・リスト中の変更履歴データに対する変更要求であるかどうかを判断する。当該変更要求は、
図7のステップ707において特定された第1の機能単位及びステップ807において特定された機能単位と異なる機能単位の特定を含む条件式を有しうる。抽出手段(203)は、上記受信した入力がステップ807で抽出された変更履歴データ・リスト中の変更履歴データに対する変更要求であることに応じて、処理をステップ803に戻す。一方、抽出手段(203)は、上記受信した入力がステップ807で抽出された変更履歴データ・リスト中の変更履歴データに対する変更要求でないことに応じて、上記動的に更新する処理を終了する(ステップ811)。ステップ805で特定された変更履歴データが第1の変更履歴データである場合、抽出手段(203)は、ユーザから受信した上記入力がステップ807において抽出された第2の変更履歴データ・リスト中の変更履歴データに対する変更要求であるかどうかを判断する。当該変更要求は、上記第1の機能単位及び上記第2の機能単位と異なる機能単位(以下、「第3の機能単位」ともいう)の特定を含む条件式を有しうる。抽出手段(203)は、上記受信した入力が上記第2の変更履歴データ・リスト中の変更履歴データに対する変更要求であることに応じて、処理をステップ803に戻す。一方、抽出手段(203)は、上記受信した入力が上記第2の変更履歴データ・リスト中の変更履歴データに対する変更要求でないことに応じて、上記動的に更新する処理を終了する(ステップ811)。
【0194】
ステップ821では、抽出手段(203)は、ステップ803で受信した変更要求が上記特定のファイルについての変更履歴データの全てを対象とするものであることに応じて、上記変更履歴データ(
図2Bを参照)の全てを記憶手段(206)から取得する。なお、ステップ705において同じ処理が行われているので、抽出手段(203)は、ステップ705において取得した変更履歴データがメモリ内にある場合には、当該ステップ821を省略することが可能である。
【0195】
ステップ822では、抽出手段(203)は、ステップ821で取得した変更履歴データの全てから、上記ユーザが入力した機能単位(特許請求の範囲に記載の「第2の機能単位」に対応する)を含む変更履歴データ(特許請求の範囲に記載の「第3の変更履歴データ」に対応する)を抽出する。
【0196】
ステップ823では、表示制御手段(204)は、ステップ822において抽出された第3の変更履歴データと、
図7のステップ707において抽出された第1の変更履歴データとを組み合わせる。すなわち、表示制御手段(204)は、
図7のステップ707において抽出された第1の変更履歴データに、ステップ822において抽出された第3の変更履歴データを追加する。
【0197】
ステップ824では、表示制御手段(204)は、ステップ823で組み合わせた変更履歴データ(以下、「第4の変更履歴データ」ともいう)の一覧(特許請求の範囲に記載の「第3の一覧」に対応する)(213)を記憶手段(206)内に作成する。代替的に、表示制御手段(204)は、上記第4の変更履歴データの第3の一覧(213)を表示装置(205)上に表示する(例えば、
図3Eの変更履歴データ・リスト(341)及び同図の変更履歴データ・リスト(342)、並びに、
図5Bの変更履歴データ・リスト(342)を参照)。
【0198】
ステップ825では、表示制御手段(204)は、上記第3の一覧のうちの少なくも2つの異なる変更履歴データそれぞれに対応するソースコード又は当該ソースコードに関連付けられた情報を表示装置(205)上に表示する(例えば、
図5Bの表示A(402)及び表示B(403)を参照)。
【0199】
ステップ826では、入力手段(201)が、ユーザから入力を受信する。抽出手段(203)は、ユーザから受信した上記入力がステップ823において得られた上記第4の変更履歴データ・リスト中の変更履歴データに対する変更要求であるかどうかを判断する。当該変更要求は、
図7のステップ707において特定された第1の機能単位及びステップ822において特定された第2の機能単位と異なる機能単位(以下、「第4の機能単位」ともいう)の特定を含む条件式を有しうる。抽出手段(203)は、上記受信した入力がステップ823において組み合わせた変更履歴データ・リスト(上記第3の変更履歴データ・リスト)中の変更履歴データに対する変更要求であることに応じて、処理をステップ803に戻す。一方、抽出手段(203)は、上記受信した入力がステップ823において組み合わせた変更履歴データ・リスト(上記第3の変更履歴データ・リスト)中の変更履歴データに対する変更要求でないことに応じて、上記動的に更新する処理を終了する(ステップ811)。
【0200】
図8Cは、
図7、
図8A及び
図8Bに示す各フローチャートに従い抽出された変更履歴データに対して、ユーザによって指定された範囲のバージョン番号を有する変更履歴データを抽出する処理のためのフローチャートを示す。
図8A及び
図8Bに示す各フローチャートに従い抽出された変更履歴データとは、
図7のステップ707において抽出された第1の変更履歴データ、
図8Aのステップ807において抽出された第2の変更履歴データ、及び、ステップ822において抽出された第3の変更履歴データでありうる。
【0201】
ステップ831では、コンピュータ(101)は、上記ユーザによって指定された範囲のバージョン番号を有する変更履歴データを抽出する処理を開始する。
【0202】
ステップ832では、入力手段(201)が、ユーザから入力を受信する。抽出手段(203)は、ユーザから受信した上記入力が上記第1,第2又は第3の変更履歴データ・リストに対して、ユーザによって指定された範囲のバージョン番号を有する変更履歴データを抽出する変更要求であるかどうかを判断する。当該変更要求は、変更履歴データが有するバージョン番号の指定範囲を含む条件式を有しうる。抽出手段(203)は、上記受信した入力が上記ユーザによって指定された範囲のバージョン番号を有する変更履歴データを抽出する変更要求であることに応じて、処理をステップ833に進める。一方、抽出手段(203)は、上記受信した入力が上記ユーザによって指定された範囲のバージョン番号を有する変更履歴データを抽出する変更要求でないことに応じて、上記ユーザによって指定された範囲のバージョン番号を有する変更履歴データを抽出する処理を終了する(ステップ837)。
【0203】
ステップ834では、抽出手段(203)は、上記受信した入力が上記ユーザによって指定された範囲のバージョン番号を有する変更履歴データを抽出する変更要求であることに応じて、上記変更要求の対象である第1,第2又は第3の変更履歴データ・リストから、上記ユーザによって指定された範囲のバージョン番号を有する変更履歴データを抽出する。
【0204】
ステップ835では、表示制御手段(204)は、上記抽出した変更履歴データ(以下、「第5の変更履歴データ」ともいう)の一覧(以下、「第4の一覧」ともいう)(213)を記憶手段(206)内に作成する。代替的に、表示制御手段(204)は、上記第5の変更履歴データの第4の一覧(213)を表示装置(205)上に表示する(例えば、
図3Cの変更履歴データ・リスト(321)及び同図の変更履歴データ・リスト(322)、
図3Fの変更履歴データ・リスト(351)及び同図の変更履歴データ・リスト(352)、並びに、
図3Gの変更履歴データ・リスト(361)及び同図の変更履歴データ・リスト(362)を参照)。
【0205】
ステップ836では、表示制御手段(204)は、上記第4の一覧のうちの少なくも2つの異なる変更履歴データそれぞれに対応するソースコード又は当該ソースコードに関連付けられた情報を表示装置(205)上に表示する。
【0206】
ステップ837では、コンピュータ(101)は、上記ユーザによって指定された範囲のバージョン番号を有する変更履歴データを抽出する処理を終了する。
【0207】
以下に、
図6A〜
図6Cに示す変更履歴データに対応する各ソースコードの表示を変更履歴データが有するバージョン番号に従い「進める」処理又は「戻す」処理それぞれを、
図9A及び
図9Bに示すフローチャートに従い説明する。
【0208】
図9Aは、
図6A〜
図6Cに示す変更履歴データに対応する各ソースコードの表示を変更履歴データが有するバージョン番号に従い進める処理(以下、「進める処理」ともいう)のためのフローチャートを示す。
以下では、
図4Aに示すウィンドウ(401)及び当該ウィンドウ(401)中に含まれている表示A(402)及び表示B(403)を参照しながら、上記進める処理を説明する。なお、便宜上、表示A(402)が、表示B(403)よりも新しいバージョン番号を有する変更履歴データに対応するソースコードを表示するものとする。また、
図4Aでは、表示A(402)がウィンドウ(401)の左側に示されており、且つ、表示B(403)がウィンドウ(401)の右側に示されているが、それとは逆に、表示A(402)が右側に且つ表B(403)が左側に表示されていてもよい。
【0209】
ステップ901では、表示制御手段(204)は、上記進める処理を開始する。
【0210】
ステップ902では、表示制御手段(204)は、ウィンドウ(401)内の表示A(402)内及び表示B(403)内それぞれに異なるバージョン番号を有する変更履歴データに対応するソースコード又は当該ソースコードに関連付けられた情報(
図9Aにおいて、上記ソースコード及び上記情報をまとめて、「変更履歴データに対応する情報」と記す)を表示装置(205)上に表示するために、上記異なるバージョン番号を有する変更履歴データを取得する。
【0211】
ステップ903では、表示制御手段(204)は、上記取得した変更履歴データに対応するソースコード又は当該ソースコードに関連付けられた情報を表示A(402)及び表示B(403)にそれぞれ表示する。
【0212】
ステップ904では、表示制御手段(204)は、4つのボタン(411)のうちのボタン(421)が例えば左クリックされたことの信号を受信する。すなわち、表示制御手段(204)は、表示A(402)及び表示B(403)に現在それぞれ表示されているソースコードに対応付けられている変更履歴データよりも一つ新しいバージョン番号を有する変更履歴データを表示A(402)及び表示B(403)にそれぞれ表示するという要求を受信する。
【0213】
ステップ905では、表示制御手段(204)は、ピン(431)が表示A(402)のために選択された変更履歴データを他のバージョン番号を有する変更履歴データに変更することをユーザが許可しているかどうか(すなわち、表示A(402)中のソースコードの表示を固定していないかどうか)を判断する。表示制御手段(204)は、表示A(402)中のソースコードの表示が固定されていること(
図4Aのピン(431)のアイコン(452)を参照)に応じて、処理をステップ906に進める。一方、表示制御手段(204)は、表示A(402)中のソースコードの表示が固定されていないこと(
図4Aのピン(431)のアイコン(451)を参照)に応じて、処理をステップ909に進める。
【0214】
ステップ906では、表示制御手段(204)は、表示A(402)中に現在表示されているソースコードに対応する変更履歴データが変更履歴データ・リスト上の最新の変更履歴データであるかどうかを判断する。表示制御手段(204)は、上記最新の変更履歴データでないことに応じて、処理をステップ907に進める。一方、表示制御手段(204)は、表示A(402)中に現在表示されているソースコードに対応する変更履歴データが最新の変更履歴データであることに応じて、処理をステップ909に進めて、表示B(403)のための処理(ステップ909〜912)を続ける。何故ならば、表示A(402)中に現在表示されているソースコードに対応する変更履歴データが最新の変更履歴データであるので、当該最新の変更履歴データよりも新しいバージョン番号を有する変更履歴データが変更履歴データ・リスト上に存在しないためである。すなわち、現在表示されている最新のソースコードに対応する変更履歴データを当該最新の変更履歴データよりもさらに新しいバージョン番号を有する変更履歴データに進めることができないからである。
【0215】
ステップ907では、表示制御手段(204)は、上記最新の変更履歴データでないことに応じて、表示A(402)中に現在表示されているソースコードに対応する変更履歴データよりも一つ新しいバージョン番号を有する変更履歴データに対応するソースコード又は当該ソースコードに対応する情報を記憶手段(206)から取得し、当該取得したソースコード又は当該ソースコードに対応する情報を表示A(402)内で表示する。
【0216】
ステップ908では、表示制御手段(204)は、ステップ907において取得したソースコード又は当該ソースコードに対応する情報を表示A(402)内に表示する。次に、表示制御手段(204)は、表示B(403)のための処理(ステップ909〜912)を続ける。
【0217】
ステップ909では、表示制御手段(204)は、ピン(441)が表示B(403)用に選択された変更履歴データを他のバージョン番号を有する変更履歴データに変更することをユーザが許可しているかどうか(すなわち、表示B(403)中のソースコードの表示を固定していないかどうか)を判断する。表示制御手段(204)は、表示B(403)中のソースコードの表示が固定されていないこと(
図4Aのピン(441)のアイコン(461)を参照)に応じて、処理をステップ910に進める。一方、表示制御手段(204)は、表示B(403)中のソースコードの表示が固定されていること(
図4Aのピン(431)アイコン(462)を参照)に応じて、処理を終了ステップであるステップ913に進める。何故ならば、表示B(403)中のソースコードの表示を固定しているからである。
【0218】
ステップ910では、表示制御手段(204)は、表示B(403)中に現在表示されているソースコードに対応する変更履歴データが有するバージョン番号が表示A(402)にこれから表示されるソースコードに対応する変更履歴データが有するバージョン番号よりも一つ古いバージョン番号であるかどうかを判断する。表示制御手段(204)は、上記一つ古いバージョン番号でないことに応じて、処理をステップ911に進める。一方、表示制御手段(204)は、上記一つ古いバージョン番号であることに応じて、処理を終了ステップであるステップ913に進める。何故ならば、表示B(403)中に現在表示されているソースコードに対応する変更履歴データが有するバージョン番号が表示A(402)にこれから表示されるソースコードに対応する変更履歴データが有するバージョン番号よりも既に一つ古いバージョン番号であるからである。
【0219】
ステップ911は、表示制御手段(204)は、上記一つ古いバージョン番号でないことに応じて、表示B(403)中に現在表示されているソースコードに対応する変更履歴データが有するバージョン番号よりも一つ新しいバージョン番号を有する変更履歴データに対応するソースコード又は当該ソースコードに対応する情報を記憶手段(206)から取得し、当該取得したソースコード又は当該ソースコードに対応する情報を表示B(403)内で表示する。
【0220】
ステップ912では、表示制御手段(204)は、ステップ911において取得したソースコード又は当該ソースコードに対応する情報を表示B(403)内に表示する。
【0221】
ステップ913では、表示制御手段(204)は、上記進める処理を終了する。
【0222】
図9Bは、
図6A〜
図6Cに示す変更履歴データに対応する各ソースコードの表示を変更履歴データが有するバージョン番号に従い戻す処理(以下、「戻す処理」ともいう)のためのフローチャートを示す。
以下では、
図4Aに示すウィンドウ(401)及び当該ウィンドウ(401)中に含まれている表示A(402)及び表示B(403)を参照しながら、上記戻す処理を説明する。なお、便宜上、表示A(402)が、表示B(403)よりも新しいバージョン番号を有する変更履歴データに対応するソースコードを表示するものとする。また、
図4Aでは、表示A(402)がウィンドウ(401)の左側に示されており、且つ、表示B(403)がウィンドウ(401)の右側に示されているが、それとは逆に、表示A(402)が右側に且つ表B(403)が左側に表示されていてもよい。
【0223】
ステップ921では、表示制御手段(204)は、上記戻す処理を開始する。
【0224】
ステップ922では、表示制御手段(204)は、ウィンドウ(401)内の表示A(402)内及び表示B(403)内それぞれに異なるバージョン番号を有する変更履歴データに対応するソースコード又は当該ソースコードに関連付けられた情報(
図9Bにおいて、上記ソースコード及び上記情報をまとめて、「変更履歴データに対応する情報」と記す)を表示装置(205)上に表示するために、上記異なるバージョン番号を有する変更履歴データを取得する。
【0225】
ステップ923では、表示制御手段(204)は、上記取得した変更履歴データに対応するソースコード又は当該ソースコードに関連付けられた情報を表示A(402)及び表示B(403)にそれぞれ表示する。
【0226】
ステップ924では、表示制御手段(204)は、4つのボタン(411)のうちのボタン(423)が例えば左クリックされたことの信号を受信する。すなわち、表示制御手段(204)は、表示A(402)及び表示B(403)に現在それぞれ表示されているソースコードに対応付けられている変更履歴データよりも一つ古いバージョン番号を有する変更履歴データを表示A(402)及び表示B(403)にそれぞれ表示するという要求を受信する。
【0227】
ステップ925では、表示制御手段(204)は、ピン(431)が表示B(403)のために選択された変更履歴データを他のバージョン番号を有する変更履歴データに変更することをユーザが許可しているかどうか(すなわち、表示B(403)中のソースコードの表示を固定していないかどうか)を判断する。表示制御手段(204)は、表示B(403)中のソースコードの表示が固定されていないこと(
図4Aのピン(441)のアイコン(461)を参照)に応じて、処理をステップ926に進める。一方、表示制御手段(204)は、表示A(402)中のソースコードの表示が固定されていること(
図4Aのピン(441)アイコン(462)を参照)に応じて、処理をステップ929に進める。
【0228】
ステップ926では、表示制御手段(204)は、表示B(403)中に現在表示されているソースコードに対応する変更履歴データが変更履歴データ・リスト上の最古の変更履歴データであるかどうかを判断する。表示制御手段(204)は、上記最古の変更履歴データでないことに応じて、処理をステップ927に進める。一方、表示制御手段(204)は、表示B(403)中に現在表示されているソースコードに対応する変更履歴データが最古の変更履歴データであることに応じて、処理をステップ929に進めて、表示A(402)のための処理(ステップ929〜932)を続ける。何故ならば、表示B(403)中に現在表示されているソースコードに対応する変更履歴データが最古の変更履歴データであるので、当該最古の変更履歴データよりも古いバージョン番号を有する変更履歴データが変更履歴データ・リスト上に存在しないためである。すなわち、現在表示されている最古のソースコードに対応する変更履歴データを当該最古の変更履歴データよりもさらに古いバージョン番号を有する変更履歴データに戻すことができないからである。
【0229】
ステップ927では、表示制御手段(204)は、上記最古の変更履歴データでないことに応じて、表示B(403)中に現在表示されているソースコードに対応する変更履歴データよりも一つ古いバージョン番号を有する変更履歴データに対応するソースコード又は当該ソースコードに対応する情報を記憶手段(206)から取得し、当該取得したソースコード又は当該ソースコードに対応する情報を表示B(403)内で表示する。
【0230】
ステップ928では、表示制御手段(204)は、ステップ927において取得したソースコード又は当該ソースコードに対応する情報を表示B(403)内に表示する。次に、表示制御手段(204)は、表示A(402)のための処理(ステップ929〜932)を続ける。
【0231】
ステップ929では、表示制御手段(204)は、ピン(431)が表示A(402)用に選択された変更履歴データを他のバージョン番号を有する変更履歴データに変更することをユーザが許可しているかどうか(すなわち、表示A(402)中のソースコードの表示を固定していないかどうか)を判断する。表示制御手段(204)は、表示A(402)中のソースコードの表示が固定されていないこと(
図4Aのピン(431)のアイコン(451)を参照)に応じて、処理をステップ930に進める。一方、表示制御手段(204)は、表示B(403)中のソースコードの表示が固定されていること(
図4Aのピン(431)のアイコン(452)を参照)に応じて、処理を終了ステップであるステップ933に進める。何故ならば、表示A(402)中のソースコードの表示を固定しているからである。
【0232】
ステップ930では、表示制御手段(204)は、表示A(402)中に現在表示されているソースコードに対応する変更履歴データが有するバージョン番号が表示B(403)にこれから表示されるソースコードに対応する変更履歴データが有するバージョン番号よりも一つ新しいバージョン番号であるかどうかを判断する。表示制御手段(204)は、上記一つ新しいバージョン番号でないことに応じて、処理をステップ931に進める。一方、表示制御手段(204)は、上記一つ古いバージョン番号であることに応じて、処理を終了ステップであるステップ913に進める。何故ならば、表示A(402)中に現在表示されているソースコードに対応する変更履歴データが有するバージョン番号が表示B(403)にこれから表示されるソースコードに対応する変更履歴データが有するバージョン番号よりも既に一つ新しいバージョン番号であるからである。
【0233】
ステップ931は、表示制御手段(204)は、上記一つ新しいバージョン番号でないことに応じて、表示A(402)中に現在表示されているソースコードに対応する変更履歴データが有するバージョン番号よりも一つ古いバージョン番号を有する変更履歴データに対応するソースコード又は当該ソースコードに対応する情報を記憶手段(206)から取得し、当該取得したソースコード又は当該ソースコードに対応する情報を表示A(402)内で表示する。
【0234】
ステップ932では、表示制御手段(204)は、ステップ931において取得したソースコード又は当該ソースコードに対応する情報を表示A(402)内に表示する。
【0235】
ステップ933では、表示制御手段(204)は、上記戻る処理を終了する。