(57)【要約】【課題】  改修対象のソースファイルが含まれている配布ファイルを早く確実に特定し、配布ファイルの改修漏れを防止するバージョン管理装置を得ること。【解決手段】  ソースファイルからアーカイブファイルを介して配布ファイルを生成するビルドの内容が記録されたビルドログと、ソースファイル、アーカイブファイル及び配布ファイルの各ファイルのバージョンを識別するスナップショット値に基づいて、ソースファイルとアーカイブファイルと配布ファイルとの対応付けを行うトレース解析部と、対応付けに基づいて改修対象のソースファイルから生成された配布ファイルを特定する障害追跡部と、を備えた。【選択図】          図１
2014157536.tif 000002
【特許請求の範囲】
【請求項１】
ソースファイルからアーカイブファイルを介して配布ファイルを生成するビルドの内容が記録されたビルドログと、前記ソースファイル、前記アーカイブファイル及び前記配布ファイルの各ファイルのバージョンを識別するスナップショット値に基づいて、前記ソースファイルと前記アーカイブファイルと前記配布ファイルとの対応付けを行うトレース解析部と、
前記対応付けに基づいて改修対象の前記ソースファイルから生成された前記配布ファイルを特定する障害追跡部と、
を備えることを特徴とするバージョン管理装置。
【請求項２】
前記トレース解析部は、前回のビルドのビルドログに記録され、保持された前記各ファイルのスナップショット値と、今回のビルドのビルドログに記録された前記各ファイルのスナップショット値とが同じ場合、前回のビルドのビルドログに記録された前記各ファイルと今回のビルドのビルドログに記録された前記各ファイルが同じであると判定することを特徴とする請求項１に記載のバージョン管理装置。
【請求項３】
前記トレース解析部から入力される前記対応付けを保存するトレース保存部と、
前記対応付けに含まれる前記配布ファイルが改修対象の前記ソースファイルから生成されたか否かを表示する障害表示部と、
を備えることを特徴とする請求項１又は２のいずれかに記載のバージョン管理装置。
【請求項４】
改修された前記ソースファイルから新たに前記配布ファイルが生成されていること、を特定し前記障害表示部に出力する前記障害追跡部と、
改修された前記ソースファイルに基づく新たな前記配布ファイルを改修済であると表示する前記障害表示部と、
を備えることを特徴とする請求項３に記載のバージョン管理装置。
【請求項５】
前記対応付けに基づいて、バージョンの異なる２つの前記配布ファイル又は前記アーカイブファイルに対応付けられた前記各ファイルのバージョン又は存在の相違を出力する相違比較部を備えることを特徴とする請求項１から４のいずれかに記載のバージョン管理装置。
【請求項６】
ソースファイルからアーカイブファイルを介して配布ファイルを生成するビルドの内容が記録されたビルドログと、前記ソースファイル、前記アーカイブファイル及び前記配布ファイルの各ファイルのバージョンを識別するスナップショット値に基づいて、前記ソースファイルと前記アーカイブファイルと前記配布ファイルとの対応付けを行うトレース解析ステップと、
前記対応付けに基づいて改修対象の前記ソースファイルから生成された前記配布ファイルを特定する障害追跡ステップと、
を有するバージョン管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
ソフトウェアのバージョンを管理するバージョン管理装置に関する。
【背景技術】
【０００２】
ソフトウェアの開発においては、複数のモジュールに分割し、モジュール単位でソースファイルが作成されることが多い。実行ファイルは、ソースファイルのコンパイル、リンクなどを行うビルドにより生成される。ビルドはビルドシステムによって行われるのが一般的である。ビルドシステムはソースファイルを入力とし、配布ファイルを出力とする。配布ファイルは実行ファイルに相当する。
【０００３】
ビルドシステムは、ソースファイルからコンパイルファイルを生成し、コンパイルファイルからアーカイブファイルを生成し、アーカイブファイルから配布ファイルを生成する。ソースファイルは、改修や機能拡張によりバージョンアップされる。ソースファイルの組合せやバージョンの違いにより、アーカイブファイルや配布ファイルにも複数のバージョンが存在する。
【０００４】
ビルドでは、対象のソースファイルやビルドの方法、ルール等をパラメータで指定する。配布ファイルが動作する環境や機能の違いに応じて、ソースファイルの一部が異なる場合がある。このような場合、ビルドで指定するパラメータが異なる。ターゲットシステムごとにこれらのパラメータを記述したファイルを保持し、ビルドするときにどのファイルを読み込むかを対応付けておき、パラメータを容易に指定する技術が公開されている。（下記特許文献１参照）
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−３８４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、ソースファイルと配布ファイルそれぞれに複数のバージョンが存在すると、特許文献１の方法では、バージョンが増えるに従ってソースファイルと配布ファイルとの対応付けが複雑になり、誤りが生じやすくなるという問題点があった。
【０００７】
本発明は上記のような問題点を解決するためになされたもので、改修対象のソースファイルが含まれている配布ファイルを早く確実に特定し、配布ファイルの改修漏れを防止するバージョン管理装置を得ることを目的としている。
【課題を解決するための手段】
【０００８】
ソースファイルからアーカイブファイルを介して配布ファイルを生成するビルドの内容が記録されたビルドログと、ソースファイル、アーカイブファイル及び配布ファイルの各ファイルの各ファイルのバージョンを識別するスナップショット値に基づいて、ソースファイルとアーカイブファイルと配布ファイルとの対応付けを行うトレース解析部と、対応付けに基づいて改修対象のソースファイルから生成された配布ファイルを特定する障害追跡部と、を備えた。
【発明の効果】
【０００９】
本発明によれば、配布ファイルに障害が発生した場合に、改修対象のソースファイルが他の配布ファイルに含まれているかどうかを早く確実に特定し、改修漏れを防止することができる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１に係るバージョン管理装置の構成を示すブロック図。
【図２】実施の形態１に係るビルドログ１に記録されているファイルの関係を示す図。
【図３】実施の形態１に係るトレース保存部に登録されたビルドログ１のファイルの対応付けを示す図。
【図４】実施の形態１に係るビルドログ２に記録されているファイルの関係を示す図。
【図５】実施の形態１に係るトレース保存部に登録されたビルドログ１及びビルドログ２のファイルの対応付けを示す図。
【図６】実施の形態１に係るビルドログ３に記録されているファイルの関係を示す図。
【図７】実施の形態１に係るトレース保存部に登録されたビルドログ１、ビルドログ２及びビルドログ３のファイルの対応付けを示す図。
【図８】実施の形態１に係る障害表示部の表示の例を示す図。
【図９】実施の形態１に係るトレース保存部に登録されたファイルの対応付けを示す図。
【図１０】実施の形態１に係る障害表示部の障害追跡表を示す図。
【図１１】実施の形態１に係る障害表示部の障害追跡表を示す図。
【図１２】実施の形態１に係るトレース保存部に登録されたファイルの対応付けを示す図。
【図１３】実施の形態１に係る障害表示部の障害追跡表を示す図。
【図１４】実施の形態２に係るバージョン管理装置の構成を示すブロック図。
【図１５】実施の形態２に係るトレース保存部に登録されたファイルの対応付けを示す図。
【図１６】実施の形態２に係る入力データを示す図。
【図１７】実施の形態２に係る出力データを示す図。
【発明を実施するための形態】
【００１１】
実施の形態１．
図１は、実施の形態１に係るバージョン管理装置１１の構成を示すブロック図である。バージョン管理装置１１は、トレース解析部１２、トレース保存部１３、障害追跡部１４、及び障害表示部１５から構成される。トレース解析部１２には、ビルドログとスナップショット値が入力される。ビルドログは、ビルドシステムが出力したログである。また、スナップショット値はファイルを一意に識別する値で、ビルドシステムが出力した値である。
【００１２】
トレース解析部１２は、ビルドログを解析し、ソースファイル、アーカイブファイル及び配布ファイルの対応付けをトレース保存部１３に保存する。配布ファイルに障害が発生した場合、保守者は、障害が発生した配布ファイルと改修対象のソースファイルを障害追跡部１４に入力する。障害追跡部１４は、トレース保存部１３を参照して改修対象のソースファイルから生成された配布ファイルが他にないか検索し、障害表示部１５に通知する。障害表示部１５は、改修対象のソースファイルから生成された配布ファイルが他にあれば表示する。
【００１３】
ビルドシステムは、ソースファイルから配布ファイルを生成するまでに実行した内容をビルドログに記録し、出力する。通常、ビルドログにはファイル名が記録されているが、そのバージョンは記録されていない。
【００１４】
また、ビルドシステムは、バージョンアップしていないファイルについての処理は行わず、既存のファイルを利用する。これをインクリメンタルビルドと呼ぶ。ビルドシステムは、ファイルが変更されたかどうかを判定するため、ソースファイル、アーカイブファイル及び配布ファイルの各ファイルのスナップショット値を算出し、保持している。スナップショット値が同じ場合、ビルドシステムはファイルが同じ、つまりバージョンが同じであると判定し、処理を行わない。スナップショット値は、例えばファイルのハッシュ値である。
【００１５】
ビルドシステムは、１つのファイルに対してスナップショット値を１つ保持する。ファイルが変更されると、スナップショット値は書き換えられる。ビルドシステムは、ビルドを行うとビルドログとソースファイル、アーカイブファイル及び配布ファイルの各ファイルのスナップショット値を出力する。トレース解析部１２は、ビルドシステムから出力されたソースファイル、アーカイブファイル及び配布ファイルの各ファイルのスナップショット値を入力され、保持する。
【００１６】
ビルドシステムは、ソースファイル１（ｖｅｒ１）、ソースファイル２（ｖｅｒ１）、ソースファイル３（ｖｅｒ１）及びソースファイル４（ｖｅｒ１）の初回のビルドを行い、ビルドログ１を出力する。
【００１７】
図２は、実施の形態１に係るビルドログ１に記録されているファイルの関係を示す図である。
ビルドログ１には、ソースファイル１、ソースファイル２、ソースファイル３及びソースファイル４がコンパイルされ、コンパイルファイル１、コンパイルファイル２、コンパイルファイル３及びコンパイルファイル４が生成されたことが記録されている。
【００１８】
また、ビルドログ１には、コンパイルファイル１及びコンパイルファイル２がアーカイブされ、アーカイブファイルＡが生成されたことが記録されている。また、コンパイルファイル３及びコンパイルファイル４がアーカイブされ、アーカイブファイルＢが生成されたことが記録されている。また、アーカイブファイルＡ及びアーカイブファイルＢから配布ファイル１が生成されたことが記録されている。
【００１９】
次に、トレース解析部１２がビルドログ１を解析して、配布ファイル、アーカイブファイル及びソースファイルの対応付けをトレース保存部１３に保存する処理について説明する。
【００２０】
配布ファイル１がトレース保存部１３に保存されていないため、トレース解析部１２は、配布ファイル１（ｖｅｒ１）を新たに登録する。また、アーカイブファイルＡ及びアーカイブファイルＢがトレース保存部１３に保存されていないため、トレース解析部１２は、配布ファイル１（ｖｅｒ１）と対応付けてアーカイブファイルＡ（ｖｅｒ１）及びアーカイブファイルＢ（ｖｅｒ１）を新たに登録する。
【００２１】
また、ソースファイル１及びソースファイル２がトレース保存部１３に保存されていないため、トレース解析部１２は、アーカイブファイルＡ（ｖｅｒ１）と対応付けてソースファイル１（ｖｅｒ１）及びソースファイル２（ｖｅｒ１）を新たに登録する。また、ソースファイル３及びソースファイル４がトレース保存部１３に保存されていないため、トレース解析部１２は、アーカイブファイルＢ（ｖｅｒ１）と対応付けてソースファイル３（ｖｅｒ１）及びソースファイル４（ｖｅｒ１）を新たに登録する。
【００２２】
図３は、実施の形態１に係るトレース保存部１３に登録されたビルドログ１のファイルの対応付けを示す図である。トレース解析部１２がビルドログ１を解析すると、図３に示すファイルの対応付けがトレース保存部１３に登録される。
【００２３】
図４は、実施の形態１に係るビルドログ２に記録されているファイルの関係を示す図である。
ビルドログ２には、ソースファイル１及びソースファイル２がコンパイルされ、コンパイルファイル１及びコンパイルファイル２が生成されたことが記録されている。これ以上のビルド処理は記録されていない。
【００２４】
次に、トレース解析部１２がビルドログ２を解析して、ファイルの対応付けをトレース保存部１３に保存する処理について説明する。
【００２５】
ビルドログ２ではソースファイル１が生成されている。ソースファイル１はソースファイル１（ｖｅｒ１）がトレース保存部１３に保存されているため、トレース解析部１２は、現在のファイルのスナップショット値を算出し、保持している値と比較する。スナップショット値が異なるため、トレース解析部１２は、新たなバージョンとしてソースファイル１（ｖｅｒ２）をトレース保存部１３に登録する。
【００２６】
また、ビルドログ２ではソースファイル２が生成されている。ソースファイル２はソースファイル２（ｖｅｒ１）がトレース保存部１３に保存されているため、トレース解析部１２は、現在のファイルのスナップショット値を算出し、保持している値と比較する。スナップショット値が異なるため、トレース解析部１２は、新たなバージョンとしてソースファイル２（ｖｅｒ２）をトレース保存部１３に登録する。
【００２７】
図５は、実施の形態１に係るトレース保存部１３に登録されたビルドログ１及びビルドログ２のファイルの対応付けを示す図である。図３に示したビルドログ１の登録内容にソースファイル１（ｖｅｒ２）及びソースファイル２（ｖｅｒ２）が追加されている。
【００２８】
図６は、実施の形態１に係るビルドログ３に記録されているファイルの関係を示す図である。ビルドログ３では、インクリメンタルビルドが行われている。
ビルドログ３には、ソースファイル１がコンパイルされ、コンパイルファイル１が生成されたことが記録されている。また、コンパイルファイル１及びコンパイルファイル２がアーカイブされ、アーカイブファイルＡが生成されたことが記録されている。また、アーカイブファイルＡ及びアーカイブファイルＢから配布ファイル１が生成されたことが記録されている。
【００２９】
次に、トレース解析部１２がビルドログ３を解析して、ファイルの対応付けをトレース保存部１３に保存する処理について説明する。
【００３０】
ビルドログ３では配布ファイル１が生成されている。配布ファイル１は配布ファイル１（ｖｅｒ１）がトレース保存部１３に保存されているため、トレース解析部１２は、現在のファイルのスナップショット値を算出し、保持している値と比較する。スナップショット値が異なるため、トレース解析部１２は、新たなバージョンとして配布ファイル１（ｖｅｒ２）をトレース保存部１３に登録する。
【００３１】
また、ビルドログ３ではアーカイブファイルＡが生成されている。アーカイブファイルＡはアーカイブファイルＡ（ｖｅｒ１）がトレース保存部１３に保存されているため、トレース解析部１２は、現在のファイルのスナップショット値を算出し、保持している値と比較する。スナップショット値が異なるため、トレース解析部１２は、新たなバージョンとしてアーカイブファイルＡ（ｖｅｒ２）をトレース保存部１３に登録する。
【００３２】
また、ビルドログ３ではアーカイブファイルＢが配布ファイル１（ｖｅｒ２）の生成に利用されているが、新たに生成はされていない。トレース解析部１２は、登録済みのアーカイブファイルＢ（ｖｅｒ１）を配布ファイル１（ｖｅｒ２）に対応付ける。
【００３３】
また、ビルドログ３ではソースファイル１がコンパイルされている。ソースファイル１はソースファイル１（ｖｅｒ２）がトレース保存部１３に保存されているため、トレース解析部１２は、現在のファイルのスナップショット値を算出し、保持している値と比較する。スナップショット値が異なるため、トレース解析部１２は、新たなバージョンとしてソースファイル１（ｖｅｒ３）をトレース保存部１３に登録する。
【００３４】
また、ビルドログ３ではソースファイル２からコンパイルファイル２が生成されていないが、コンパイルファイル２はアーカイブファイルＡの生成に利用されている。トレース解析部１２は、現在のファイルのスナップショット値を算出し、保持しているソースファイル２（ｖｅｒ２）のスナップショット値と比較する。スナップショット値が同じため、トレース解析部１２は、登録済みのソースファイル２（ｖｅｒ２）をアーカイブファイルＡ（ｖｅｒ２）に対応付ける。
【００３５】
図７は、実施の形態１に係るトレース保存部１３に登録されたビルドログ１、ビルドログ２及びビルドログ３のファイルの対応付けを示す図である。図５に示したビルドログ１及びビルドログ２の登録内容にソースファイル１（ｖｅｒ３）、アーカイブファイルＡ（ｖｅｒ２）及び配布ファイル１（ｖｅｒ２）が追加されている。
【００３６】
初回のビルドやすべてのソースファイルが変更された場合、ビルドログにはソースファイル、コンパイルファイル、アーカイブファイル及び配布ファイルの関係がすべて記録されているため、トレース解析部１２は、ビルドログのみでファイルの対応付けを解析することができる。しかし、インクリメンタルビルドの場合、ファイルの関係がすべて記録されてはいないため、ビルドログのみではファイルの対応付けを解析することができない。
【００３７】
トレース解析部１２は、トレース保存部１３に配布ファイルを登録する場合、障害追跡部１４にも通知する。
【００３８】
図８は、実施の形態１に係る障害表示部１５の表示の例を示す図である。障害追跡表８１には、配布ファイル名８２と障害名８３が対応付けて保存される。障害追跡部１４は、配布ファイルが通知されると、障害表示部１５に通知し、障害表示部１５は障害追跡表８１に通知された配布ファイル名を追加して表示する。障害追跡表８１では、配布ファイル１（ｖｅｒ１）と配布ファイル１（ｖｅｒ２）が追加されている。障害名８３は、障害が発生したときに表示される。障害名８３は、複数の障害を識別できるものであればよい。
【００３９】
次に、障害が発生した場合の動作について説明する。
図９は、実施の形態１に係るトレース保存部１３に登録されたファイルの対応付けを示す図である。ソースファイル１（ｖｅｒ１）及びソースファイル２（ｖｅｒ１）からアーカイブファイルＡ（ｖｅｒ１）が生成されていることを示している。ソースファイル３（ｖｅｒ１）及びソースファイル４（ｖｅｒ１）からアーカイブファイルＢ（ｖｅｒ１）が生成されていることを示している。ソースファイル５（ｖｅｒ１）及びソースファイル６（ｖｅｒ１）からアーカイブファイルＣ（ｖｅｒ１）が生成されていることを示している。
【００４０】
アーカイブファイルＡ（ｖｅｒ１）及びアーカイブファイルＢ（ｖｅｒ１）から配布ファイル１（ｖｅｒ１）が生成されていることを示している。アーカイブファイルＡ（ｖｅｒ１）及びアーカイブファイルＣ（ｖｅｒ１）から配布ファイル２（ｖｅｒ１）が生成されていることを示している。
【００４１】
ソースファイル１（ｖｅｒ２）及びソースファイル２（ｖｅｒ１）からアーカイブファイルＡ（ｖｅｒ２）が生成されていることを示している。ソースファイル５（ｖｅｒ１）及びソースファイル６（ｖｅｒ２）からアーカイブファイルＣ（ｖｅｒ２）が生成されていることを示している。
【００４２】
アーカイブファイルＡ（ｖｅｒ２）及びアーカイブファイルＢ（ｖｅｒ１）から配布ファイル１（ｖｅｒ２）が生成されていることを示している。アーカイブファイルＡ（ｖｅｒ２）及びアーカイブファイルＣ（ｖｅｒ１）から配布ファイル２（ｖｅｒ２）が生成されていることを示している。アーカイブファイルＡ（ｖｅｒ２）及びアーカイブファイルＣ（ｖｅｒ２）から配布ファイル２（ｖｅｒ３）が生成されていることを示している。
【００４３】
このとき、配布ファイル１（ｖｅｒ２）で障害１が発生したとする。保守者は、配布ファイル１（ｖｅｒ２）を生成したソースファイルを解析し、ソースファイル１（ｖｅｒ２）に障害１が発生した原因があると特定する。障害１が発生した原因は、図９において配布ファイル１（ｖｅｒ１）が正常であったことを考慮すると配布ファイル１（ｖｅｒ２）にて新たに挿入されたソースファイル１（ｖｅｒ２）に含まれる可能性が高い。ただし、ソースファイル１（ｖｅｒ２）を新たに挿入したことにより、他のソースファイルが影響を受けて障害を発生することもある。保守者は、配布ファイル１（ｖｅｒ２）で障害１が発生したこと、ソースファイル１（ｖｅｒ２）が改修対象のソースファイルであることを障害追跡部１４に入力する。
【００４４】
図１０は、実施の形態１に係る障害表示部１５の障害追跡表１０１を示す図である。障害追跡表１０１には、配布ファイル名１０２と障害名１０３が対応付けて保存されている。配布ファイル名１０２として、配布ファイル１（ｖｅｒ１）、配布ファイル２（ｖｅｒ１）、配布ファイル１（ｖｅｒ２）、配布ファイル２（ｖｅｒ２）、及び配布ファイル２（ｖｅｒ３）が登録されている。保守者が配布ファイル１（ｖｅｒ２）で障害１が発生したことを入力したことにより、障害１が登録され、配布ファイル１（ｖｅｒ２）に「検出」が表示されている。
【００４５】
障害追跡部１４は、トレース保存部１３を参照し、ソースファイル１（ｖｅｒ２）を含む配布ファイルが配布ファイル１（ｖｅｒ２）以外にないか検索する。トレース保存部１３に登録されたファイルの対応付けは図９の状態である。ソースファイル１（ｖｅｒ２）には、アーカイブファイルＡ（ｖｅｒ２）が対応付けられている。アーカイブファイルＡには、配布ファイル１（ｖｅｒ２）、配布ファイル２（ｖｅｒ２）及び配布ファイル２（ｖｅｒ３）が対応付けられている。配布ファイル１（ｖｅｒ２）は障害１が発生したファイルである。
【００４６】
よって、障害追跡部１４は、配布ファイル２（ｖｅｒ２）及び配布ファイル２（ｖｅｒ３）が障害１を含むことを障害表示部１５に通知する。障害表示部１５は、配布ファイル２（ｖｅｒ２）、及び配布ファイル２（ｖｅｒ３）が障害１を含むことを表示する。
【００４７】
図１１は、実施の形態１に係る障害表示部１５の障害追跡表１１１を示す図である。障害追跡表１１１には、配布ファイル名１１２と障害名１１３が対応付けられている。
障害追跡表１０１の状態から、配布ファイル２（ｖｅｒ２）、及び配布ファイル２（ｖｅｒ３）の障害１の欄に「含む」が追加されている。
【００４８】
保守者は、ソースファイル１（ｖｅｒ２）を改修し、ソースファイル１（ｖｅｒ３）を作成する。ビルドシステムは、ソースファイル１（ｖｅｒ３）をコンパイルし、アーカイブファイルＡ（ｖｅｒ３）、配布ファイル１（ｖｅｒ３）及び配布ファイル２（ｖｅｒ４）を生成し、ビルドログ４を出力する。トレース解析部１２は、ビルドログ４を解析し、配布ファイル、アーカイブファイル及びソースファイルの対応付けをトレース保存部１３に保存する。
【００４９】
図１２は、実施の形態１に係るトレース保存部１３に登録されたファイルの対応付けを示す図である。図９の状態から、ソースファイル１（ｖｅｒ３）、アーカイブファイルＡ（ｖｅｒ３）、配布ファイル１（ｖｅｒ３）及び配布ファイル２（ｖｅｒ４）が追加されている。ソースファイル１（ｖｅｒ３）は、障害１の原因を含むソースファイル１（ｖｅｒ２）を改修し、バージョンアップされたファイルである。
【００５０】
ソースファイル１（ｖｅｒ３）及びソースファイル２（ｖｅｒ１）からアーカイブファイルＡ（ｖｅｒ３）が生成されていることを示している。アーカイブファイルＡ（ｖｅｒ３）及びアーカイブファイルＢ（ｖｅｒ１）から配布ファイル１（ｖｅｒ３）が生成されていることを示している。アーカイブファイルＡ（ｖｅｒ３）及びアーカイブファイルＣ（ｖｅｒ２）から配布ファイル２（ｖｅｒ４）が生成されていることを示している。
【００５１】
トレース解析部１２は、配布ファイル、アーカイブファイル及びソースファイルの対応付けをトレース保存部１３に保存すると、障害追跡部１４に通知する。障害追跡部１４は、トレース保存部１３を参照し、障害１の原因を含むソースファイル１（ｖｅｒ２）が改修され、ソースファイル１（ｖｅｒ３）から新たに配布ファイル１（ｖｅｒ３）及び配布ファイル２（ｖｅｒ４）が生成されたことを障害表示部１５に通知する。
【００５２】
図１３は、実施の形態１に係る障害表示部１５の障害追跡表１３１を示す図である。障害追跡表１３１には、配布ファイル名１３２と障害名１３３が対応付けられている。
障害追跡表１１１の状態から、配布ファイル１（ｖｅｒ３）、及び配布ファイル２（ｖｅｒ４）が追加され、障害１の欄に「済」が表示されている。「済」は、改修済みであることを示す。よって、配布ファイルが改修されたか否かを確認することができる。
【００５３】
したがって、ソースファイルからアーカイブファイルを介して配布ファイルを生成するビルドの内容が記録されたビルドログと、ソースファイル、アーカイブファイル及び配布ファイルの各ファイルのバージョンを識別するスナップショット値に基づいてソースファイルとアーカイブファイルと配布ファイルとの対応付けを行うトレース解析部と、対応付けに基づいて改修対象のソースファイルから生成された配布ファイルを特定する障害追跡部と、を備えたので、配布ファイルに障害が発生した場合に、改修対象のソースファイルが他の配布ファイルに含まれているかどうかを早く確実に特定し、改修漏れを防止することができる。
【００５４】
また、トレース解析部は、前回のビルドのビルドログに記録され、保持された各ファイルのスナップショット値と、今回のビルドのビルドログに記録された各ファイルのスナップショット値とが同じ場合、前回のビルドのビルドログに記録された各ファイルと今回のビルドのビルドログに記録された各ファイルが同じであると判定するので、インクリメンタルビルドが行われ、ビルドログに記録されていない場合もファイルを特定することができる。
【００５５】
また、トレース解析部から入力される対応付けを保存するトレース保存部と、対応付けに含まれる配布ファイルが改修対象のソースファイルから生成されたか否かを表示する障害表示部と、を備えたので、改修対象のソースファイルから生成された配布ファイルを保守者は把握することができる。
【００５６】
また、障害追跡部は改修されたソースファイルから新たに配布ファイルが生成されていること、を特定し障害表示部に出力し、障害表示部は改修されたソースファイルに基づく新たな配布ファイルを改修済であると表示するので、改修対象のソースファイルが改修され、新たな配布ファイルが生成されたことを保守者は把握することができる。
【００５７】
実施の形態２．
以上の実施の形態１では、改修対象のソースファイルから生成された配布ファイルを検索するようにしたものであるが、本実施の形態においては、バージョンの異なる配布ファイル又はアーカイブファイルの相違を特定する実施の形態を示す。
なお、本実施の形態においては、図１のように実施の形態１に記載の構成を全て備えた上で、更に付加的な構成ついて説明する。
【００５８】
図１４は、実施の形態２に係るバージョン管理装置１４１の構成を示すブロック図である。バージョン管理装置１４１は、トレース解析部１２、トレース保存部１３、相違検索部１４２から構成されている。
トレース解析部１２及びトレース保存部１３は実施の形態１と同じであるため、説明を割愛する。相違検索部１４２は、２つのバージョンのファイルが入力されると、トレース保存部１３に保存されたファイルの対応付けを参照し、２つのファイルにそれぞれ対応付けられたファイルのバージョン又は存在の相違を出力する。出力先における表示は、障害表示部１５で表示させてもよいし、別の表示機能を備えたもので表示させてもよい。
尚、実施の形態１における障害追跡部１４及び障害表示部１５が図１４に示されていないが、本実施の形態においてもトレース解析部１２、トレース保存部１３の出力先として障害追跡部１４が接続され、障害追跡部１４の出力を障害表示部１５が表示する構成となっている。
【００５９】
図１５は、実施の形態２に係るトレース保存部に登録されたファイルの対応付けを示す図である。ソースファイル１（ｖｅｒ１）、ソースファイル２（ｖｅｒ１）及びソースファイル３（ｖｅｒ１）からアーカイブファイルＡ（ｖｅｒ１）が生成されていることを示している。ソースファイル４（ｖｅｒ１）及びソースファイル５（ｖｅｒ１）からアーカイブファイルＢ（ｖｅｒ１）が生成されていることを示している。アーカイブファイルＡ（ｖｅｒ１）及びアーカイブファイルＢ（ｖｅｒ１）から配布ファイル１（ｖｅｒ１）が生成されていることを示している。
【００６０】
ソースファイル１（ｖｅｒ２）、ソースファイル２（ｖｅｒ１）及びソースファイル６（ｖｅｒ１）からアーカイブファイルＡ（ｖｅｒ２）が生成されていることを示している。アーカイブファイルＡ（ｖｅｒ２）及びアーカイブファイルＢ（ｖｅｒ１）から配布ファイル１（ｖｅｒ２）が生成されていることを示している。
【００６１】
次に、相違検索部１４２の動作について、配布ファイル１（ｖｅｒ２）を比較元のファイルとし、配布ファイル１（ｖｅｒ１）を比較先のファイルとする場合を例に説明する。
【００６２】
図１６は、実施の形態２に係る入力データ１６１を示す図である。入力データ１６１には、ファイル名と比較先バージョンと比較元バージョンとが対応付けられている。入力データ１６１では、比較対象のファイル名が「配布ファイル１」、比較先バージョンが「ｖｅｒ１」、比較元バージョンが「ｖｅｒ２」である。
相違検索部１４２は、比較対象のファイル名、比較元のバージョン及び比較先のバージョンが入力されると、入力データ１６１の形式で入力された情報を保持する。
【００６３】
図１７は、実施の形態２に係る出力データ１７１ａ〜ｄを示す図である。出力データ１７１ａ〜ｄには、ファイル名と比較先バージョンと比較元バージョンとが対応付けられている。
【００６４】
相違検索部１４２は、比較対象の情報が入力されるとトレース保存部１３を参照する。トレース保存部１３には、図１５に示すファイルの対応付けが保存されている。比較元の配布ファイル１（ｖｅｒ２）には、アーカイブファイルＡ（ｖｅｒ２）及びアーカイブファイルＢ（ｖｅｒ１）が対応付けられている。比較先の配布ファイル１（ｖｅｒ１）には、アーカイブファイルＡ（ｖｅｒ１）及びアーカイブファイルＢ（ｖｅｒ１）が対応付けられている。
【００６５】
アーカイブファイルＡのバージョンが比較元と比較先では異なるため、相違検索部１４２は、ファイル名「アーカイブファイルＡ」の出力データ１７１ａを作成し、比較元バージョンを「ｖｅｒ２」、比較先バージョンを「ｖｅｒ１」に設定する。アーカイブファイルＢのバージョンは比較元と比較先で同じため、相違検索部１４２は出力データを作成しない。
【００６６】
相違検索部１４２は、さらにアーカイブファイルＡについて比較し、出力データを作成する。比較元のアーカイブファイルＡ（ｖｅｒ２）には、ソースファイル１（ｖｅｒ２）、ソースファイル２（ｖｅｒ１）及びソースファイル６（ｖｅｒ１）が対応付けられている。比較先のアーカイブファイルＡ（ｖｅｒ１）には、ソースファイル１（ｖｅｒ１）、ソースファイル２（ｖｅｒ１）及びソースファイル３（ｖｅｒ１）が対応付けられている。
【００６７】
ソースファイル１のバージョンが比較元と比較先では異なるため、相違検索部１４２は、ファイル名「ソースファイル１」の出力データ１７１ｂを作成し、比較元バージョンを「ｖｅｒ２」、比較先バージョンを「ｖｅｒ１」に設定する。ソースファイル２のバージョンは比較元と比較先で同じため、相違検索部１４２は出力データを作成しない。
【００６８】
ソースファイル６は、比較元には含まれているが比較先には含まれていないため、相違検索部１４２は、ファイル名「ソースファイル６」の出力データ１７１ｃを作成し、比較元バージョンを「ｖｅｒ１」、比較先バージョンを「無」に設定する。ソースファイル３は、比較元には含まれていないが比較先には含まれているため、相違検索部１４２は、ファイル名「ソースファイル３」の出力データ１７１ｄを作成し、比較元バージョンを「無」、比較先バージョンを「ｖｅｒ１」に設定する。
【００６９】
相違検索部１４２は、比較元と比較先に含まれるすべてのファイルについて比較を行うと出力データ１７１ａ〜ｄを出力し、処理を終了する。
【００７０】
なお、本実施の形態においては、比較対象を配布ファイルとしたが、アーカイブファイルとしてもよい。
【００７１】
従来では、比較対象の配布ファイルに含まれる複数のファイルについて、それぞれファイルの内容の比較をすることが行われているが、本実施の形態によれば処理量を低減し、容易かつ確実に相違を抽出することができる。
【００７２】
したがって、対応付けに基づいて、バージョンの異なる２つの配布ファイル又はアーカイブファイルに対応付けられた各ファイルのバージョン又は存在の相違を出力する相違比較部を備えたので、バージョンの異なるファイルの相違を少ない処理量で特定することができる。
【符号の説明】
【００７３】
１１、１４１  バージョン管理装置
１２  トレース解析部
１３  トレース保存部
１４  障害追跡部
１５  障害表示部
８１、１０１、１１１、１３１  障害追跡表
８２、１０２、１１２、１３２  配布ファイル名
８３、１０３、１１３、１３３  障害名
１４２  相違検索部
１６１  入力データ
１７１ａ〜ｄ  出力データ
【図１】
2014157536.tif 000003
【図２】
2014157536.tif 000004
【図３】
2014157536.tif 000005
【図４】
2014157536.tif 000006
【図５】
2014157536.tif 000007
【図６】
2014157536.tif 000008
【図７】
2014157536.tif 000009
【図８】
2014157536.tif 000010
【図９】
2014157536.tif 000011
【図１０】
2014157536.tif 000012
【図１１】
2014157536.tif 000013
【図１２】
2014157536.tif 000014
【図１３】
2014157536.tif 000015
【図１４】
2014157536.tif 000016
【図１５】
2014157536.tif 000017
【図１６】
2014157536.tif 000018
【図１７】
2014157536.tif 000019