(57)【要約】【課題】プログラム開発において、将来的に発生する予定のソースのバージョンに関する情報を管理することができるソース情報管理装置を提供する。【解決手段】ソース管理情報に基づいて作成されたソースバージョン定義情報で定義されているソースバージョンのうち対象ソースバージョンを指定した対象バージョン指定情報を受け付けるバージョン指定情報受付部１１１と、ソースバージョン定義情報において、対象ソースバージョンの下位層に、新たなソースバージョンを追加するバージョン情報追加部１２と、ソース管理情報において、対象ソースバージョンのソースの下位層に、新たなソースバージョンのソースを追加させるためのブランチ作成コマンドを実行させるコマンド実行指示を受け付ける実行指示受付部１１２と、実行指示受付部１１２がコマンド実行指示を受け付けた場合、ブランチ作成コマンドを実行するブランチ作成実行部１３とを備えた。【選択図】図１
2020160520.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上のプログラムのソースから派生して作成される１つ以上のプログラムのソースの情報を管理するソース情報管理装置であって、
１つ以上のソースが当該ソースのソースバージョンとともに１つ以上の階層を有する階層構造で管理されたソース管理情報に基づいて作成された、１つ以上のソースバージョンが１つ以上の階層を有する階層構造で定義されたソースバージョン定義情報、で定義されている１つ以上のソースバージョンのうち、下位層に新たなソースバージョンを作成する対象となる１つ以上の対象ソースバージョン、を指定した対象バージョン指定情報を受け付けるバージョン指定情報受付部と、
前記ソースバージョン定義情報において、前記バージョン指定情報受付部が受け付けた１つ以上の前記対象ソースバージョンの下位層に、前記新たなソースバージョンを追加するバージョン情報追加部と、
前記ソース管理情報において、１つ以上の前記対象ソースバージョンのソースの下位層に、前記新たなソースバージョンのソースを追加させるためのブランチ作成コマンドを実行させるコマンド実行指示を受け付ける実行指示受付部と、
前記実行指示受付部が前記コマンド実行指示を受け付けた場合、前記ブランチ作成コマンドを実行するブランチ作成実行部
とを備えたソース情報管理装置。
【請求項２】
前記バージョン指定情報受付部が、複数の前記対象ソースバージョンを指定した対象バージョン指定情報を取得した場合、
前記バージョン情報追加部は、
前記ソースバージョン定義情報において、前記バージョン指定情報受付部が受け付けた複数の前記対象ソースバージョンの下位層に、当該複数の前記対象ソースバージョンから派生させた１つの前記新たなソースバージョンを追加する
ことを特徴とする請求項１記載のソース情報管理装置。
【請求項３】
前記ソースバージョン定義情報で定義されている１つ以上の前記ソースバージョンに付与する付属情報を受け付ける付属情報受付部と、
前記付属情報受付部が受け付けた前期付属情報を、前記１つ以上の前記ソースバージョンに付与する付属情報追加部
とを備えた請求項１または請求項２記載のソース情報管理装置。
【請求項４】
前記ソースバージョン定義情報で定義されている１つ以上の前記ソースバージョンのうち、前記付属情報を比較する対象とする、複数の比較対象ソースバージョンを受け付ける差分分析指示受付部と、
前記差分分析指示受付部が複数の前記比較対象ソースバージョンを受け付けた場合、当該比較対象ソースバージョンに付与されている前記付属情報を比較する比較部
とを備えた請求項３記載のソース情報管理装置。
【請求項５】
前記ソースバージョン定義情報を前記階層構造にて表示した階層図を表示させるソースバージョン表示制御部を備えた
請求項１から請求項４のうちのいずれか１項記載のソース情報管理装置。
【請求項６】
前記対象バージョン指定情報には、
前記対象ソースバージョンとして、前記ソース管理情報において前記新たなソースバージョンのソースを追加する際の親バージョンを指定した親バージョン指定情報と、前記対象ソースバージョンとして、前記ソース管理情報において前記新たなソースバージョンのソースを追加する際に、ソースに含まれる項目を全てマージする全マージバージョンを指定した全マージバージョン指定情報と、前記対象ソースバージョンとして、前記ソース管理情報において前記新たなバージョンのソースを追加する際に、ソースに含まれる項目を部分的にマージする部分マージバージョンを指定した部分マージバージョン指定情報が含まれ、
前記ソースバージョン表示制御部は、
前記階層図において、前記部分マージバージョンに指定されたソースバージョンから引く線を、当該部分マージバージョンに指定されたソースバージョンから引かれた線であることがわかるように表示させる
ことを特徴とする請求項５記載のソース情報管理装置。
【請求項７】
前記ソースバージョン表示制御部は、
前記階層図において、前記バージョン情報追加部が追加した前記新たなソースバージョンであって、かつ、前記ブランチ作成実行部が前記ブランチ作成コマンドを実行させていない前記新たなソースバージョンを、他のソースバージョンとは異なる形態で表示させる
ことを特徴とする請求項５記載のソース情報管理装置。
【請求項８】
前記ソースバージョン定義情報に付与された前記付属情報の表示指示を受け付ける付属情報表示指示受付部と、
前記付属情報表示指示受付部が前記表示指示を受け付けた場合、当該表示指示に基づき、前記付属情報を表示させる付属情報表示制御部
とを備えた請求項３記載のソース情報管理装置。
【請求項９】
前記ソース管理情報に基づき、前記ソースバージョン定義情報を作成するソースバージョン定義情報作成部を備えた
ことを特徴とする請求項１から請求項８のうちのいずれか１項記載のソース情報管理装置。
【請求項１０】
１つ以上のプログラムのソースから派生して作成される１つ以上のプログラムのソースの情報を管理するソース情報管理方法であって、
バージョン指定情報受付部が、１つ以上のソースが当該ソースのソースバージョンとともに１つ以上の階層を有する階層構造で管理されたソース管理情報に基づいて作成された、１つ以上のソースバージョンが１つ以上の階層を有する階層構造で定義されたソースバージョン定義情報、で定義されている１つ以上のソースバージョンのうち、下位層に新たなソースバージョンを作成する対象となる１つ以上の対象ソースバージョン、を指定した対象バージョン指定情報を受け付けるステップと、
バージョン情報追加部が、前記ソースバージョン定義情報において、前記バージョン指定情報受付部が受け付けた１つ以上の前記対象ソースバージョンの下位層に、前記新たなソースバージョンを追加するステップと、
実行指示受付部が、前記ソース管理情報において、１つ以上の前記対象ソースバージョンのソースの下位層に、前記新たなソースバージョンのソースを追加させるためのブランチ作成コマンドを実行させるコマンド実行指示を受け付けるステップと、
ブランチ作成実行部が、前記実行指示受付部が前記コマンド実行指示を受け付けた場合、前記ブランチ作成コマンドを実行するステップ
とを備えたソース情報管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、プログラム開発において、プログラムのソースのバージョン管理を行なうソース情報管理装置およびソース情報管理方法に関するものである。
【背景技術】
【０００２】
従来、プログラム開発において、プログラムの開発時に、マージ元のソースから派生させてソースを生成した際、当該生成したソースのバージョン管理を行う技術が知られている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１７６５９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に代表される従来の技術では、実際に生成したソースのバージョンについては管理できるが、計画段階である、将来的に発生する予定のソースのバージョンについては管理できないという課題があった。
【０００５】
この発明は、上記のような課題を解決するためになされたもので、プログラム開発において、計画段階である、将来的に発生する予定のソースのバージョンに関する情報を管理することができるソース情報管理装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
この発明に係るソース情報管理装置は、１つ以上のプログラムのソースから派生して作成される１つ以上のプログラムのソースの情報を管理するソース情報管理装置であって、１つ以上のソースが当該ソースのソースバージョンとともに１つ以上の階層を有する階層構造で管理されたソース管理情報に基づいて作成された、１つ以上のソースバージョンが１つ以上の階層を有する階層構造で定義されたソースバージョン定義情報、で定義されている１つ以上のソースバージョンのうち、下位層に新たなソースバージョンを作成する対象となる１つ以上の対象ソースバージョン、を指定した対象バージョン指定情報を受け付けるバージョン指定情報受付部と、ソースバージョン定義情報において、バージョン指定情報受付部が受け付けた１つ以上の対象ソースバージョンの下位層に、新たなソースバージョンを追加するバージョン情報追加部と、ソース管理情報において、１つ以上の対象ソースバージョンのソースの下位層に、新たなソースバージョンのソースを追加させるためのブランチ作成コマンドを実行させるコマンド実行指示を受け付ける実行指示受付部と、実行指示受付部がコマンド実行指示を受け付けた場合、ブランチ作成コマンドを実行するブランチ作成実行部を備えたものである。
【発明の効果】
【０００７】
この発明によれば、プログラム開発において、計画段階である、将来的に発生する予定のソースのバージョンに関する情報を管理することができる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１に係るソース情報管理装置の構成例を示す図である。
【図２】実施の形態１において、ソース情報管理装置が管理する、ソース管理情報およびソースバージョン定義情報の一例のイメージを示す図であって、図２Ａは、ソース管理情報の一例のイメージを示しており、図２Ｂは、ソースバージョン定義情報の一例のイメージを示している。
【図３】実施の形態１において、図２Ｂで示すソースバージョン定義情報に、ソースバージョンが追加された後のソースバージョン定義情報の一例のイメージを示す図である。
【図４】実施の形態１において、図２Ａで示すソース管理情報に、ソースが追加された後のソース管理情報の一例のイメージを示す図である。
【図５】実施の形態１において、ソースバージョン表示制御部が表示させたソースバージョン定義情報表示画面の一例のイメージを示す図である。
【図６】実施の形態１において、ＰＣの表示部が表示したバージョン編集画面の一例のイメージを示す図である。
【図７】実施の形態１において、ソース情報管理装置の表示制御部が表示させた親バージョン指定画面から、ユーザが、親バージョンとして、対象ソースバージョン「Ｖｅｒ．２．０．２．０」の情報を入力する流れのイメージを説明する図である。
【図８】実施の形態１において、新たに作成するソースバージョンおよび対象ソースバージョンが入力されたバージョン編集画面の一例のイメージを示す図である。
【図９】実施の形態１において、ソース情報管理装置の表示制御部のソースバージョン表示制御部が、図３に示す内容のソースバージョン定義情報を表示させた、ソースバージョン定義情報表示画面の一例のイメージを示す図である。
【図１０】実施の形態１においてソース情報管理装置の表示制御部が表示されるブランチ作成指示入力画面の一例のイメージを示す図である。
【図１１】実施の形態１に係るソース情報管理装置の動作を説明するためのフローチャートである。
【図１２】実施の形態１において、バージョン情報追加部が、ソースバージョン定義情報にて、「Ｖｅｒ．２．０．２．０」、「Ｖｅｒ．２．０．０．１００３３」、「Ｖｅｒ．２．０．０．２０１５３」、および、「Ｖｅｒ．２．０．０．２０１８０」から派生させた新たな「Ｖｅｒ．２．１．０．０」を追加した結果の、ソースバージョン定義情報の内容のイメージを示す図である。
【図１３】実施の形態１において、ソースバージョン表示制御部が、図１２に示すようなソースバージョン定義情報に基づいて表示させたソースバージョン定義情報表示画面の一例のイメージを示す図である。
【図１４】実施の形態１において、複数のソースを統合して１つのソースが作成されたソース管理情報の内容のイメージを説明するための図である。
【図１５】実施の形態１において、表示制御部が、全マージバージョンとするか部分マージバージョンとするかを受け付け可能な画面として表示させた、マージバージョン指定画面の一例のイメージを示す図である。
【図１６】実施の形態１において、部分マージバージョンの表示色を、全マージバージョンの表示色とは異ならせたバージョン編集画面の一例のイメージを示す図である。
【図１７】実施の形態１において、全マージのソースバージョンであるか部分マージのソースバージョンであるかがわかるようにソースバージョンを表示させたソースバージョン定義情報表示画面の一例のイメージを示す図である。
【図１８】実施の形態１において、付属情報受付部、差分指示受付部、付属情報追加部、および、比較部を備えるようにしたソース情報管理装置の構成例を示す図である。
【図１９】実施の形態１において、ソース情報管理装置が図１８に示す構成を有する場合に、ソース情報管理装置のソースバージョン表示制御部が表示させたソースバージョン定義情報表示画面の一例のイメージを示す図である。
【図２０】実施の形態１において、ソース情報管理装置の表示制御部が、付属情報を表示させたソースバージョン定義情報表示画面の一例のイメージを示す図である。
【図２１】実施の形態１において、ソース情報管理装置の表示制御部が、差分分析指示入力画面を表示させるまでの流れのイメージを示す図である。
【図２２】実施の形態１において、ユーザが比較対象ソースバージョンを入力した場合のソースバージョン定義情報表示画面の一例のイメージを示す図である。
【図２３】実施の形態１において、表示制御部が比較部による付属情報の比較結果を表示させた画面の一例のイメージを示す図である。
【図２４】図２４Ａ，図２４Ｂは、実施の形態１において、表示制御部が、付属情報として、マージ残件数を表示させた場合の、ソースバージョン定義情報表示画面の一例のイメージを示す図である。
【図２５】実施の形態１において、図２４に示すようなソースバージョン定義情報表示画面から、マージ残件数の内容を示す付属情報を表示させた画面の一例のイメージを示す図である。
【図２６】実施の形態１において、ソースバージョン表示制御部が、表示量調整ボタンを表示させた、ソースバージョン定義情報表示画面の一例のイメージを示す図である。
【図２７】実施の形態１において、ソースバージョン表示制御部が、図２６に示した表示量調整画面にて設定された表示対象ソースバージョンのみを表示させるようにした、ソースバージョン定義情報表示画面の一例のイメージを示す図である。
【図２８】実施の形態１において、ソースバージョン表示制御部が、表示量調整ボタンを表示させたソースバージョン定義情報表示画面から呼び出された表示量調整画面の一例のイメージを示す図である。
【図２９】実施の形態１において、ソースバージョン表示制御部が、図２８に示した表示量調整画面にて設定された範囲の表示対象ソースバージョンのみを表示させるようにした、ソースバージョン定義情報表示画面の一例のイメージを示す図である。
【図３０】実施の形態１において、遷移図出力ボタンが表示されるようにしたソースバージョン定義情報表示画面の一例のイメージを示す図である。
【発明を実施するための形態】
【０００９】
以下、この発明の実施の形態について図面を参照しながら詳細に説明する。
実施の形態１．
以下に説明する、実施の形態１に係るソース情報管理装置１は、例えば、ソースを１つ以上のルートに派生させて、エンジニアリングツールとしてのプログラムのプログラム開発を行う施設監視システムに用いられることを想定している。
以下の説明において、エンジニアリングツールとしてのプログラムのソースを、単に「ソース」ともいう。
【００１０】
図１は、実施の形態１に係るソース情報管理装置１の構成例を示す図である。
ソース情報管理装置１は、サーバを想定している。ソース情報管理装置１は、ソフトウェアに基づくＣＰＵを用いたプログラム処理によって実行される。
ソース情報管理装置１は、ユーザが操作するＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）２と、ネットワークを介して接続される。ソース情報管理装置１とＰＣ２は、施設監視システムに備えられる。なお、図１では、ソース情報管理装置１には、ＰＣ２が１つのみ接続されるものとしているが、これは一例に過ぎない。ソース情報管理装置１には、ＰＣ２が複数接続されるようになっていてもよい。
ソース情報管理装置１は、ソースと、当該ソースのバージョンを示す情報とが対応付けられた情報（以下「ソース管理情報」という。）を管理する。
例えば、ユーザがＰＣ２を操作してプログラム開発を行うことで新たにソースを作成した場合、ソース情報管理装置１は、当該新たに作成されたソースの情報を、ソース管理情報に反映する。ユーザは、プログラム開発を行う際、例えば、既に存在しているソースを１つ以上のルートに派生させ、当該既に存在しているソースのバージョンアップを行って新たにソースを作成し、ソース情報管理装置１に、当該新たに作成したソースを管理させる。ソースのバージョンアップを行うとは、例えば、当該ソースで設定されている機能の追加、または、当該ソースにおける障害の修正を行うことをいう。
【００１１】
また、ソース情報管理装置１は、ソース管理情報で管理しているソースのバージョンが定義された情報（以下「ソースバージョン定義情報」）を管理する。ソースバージョン定義情報では、実際には存在していないソースのバージョンも定義可能である。
例えば、ユーザは、ＰＣ２を操作して、将来的に作成される予定のソースのバージョンに関する情報を入力し、ソース情報管理装置１に、当該将来的に作成される予定のソースのバージョンを管理させる。ソース情報管理装置１は、ＰＣ２から、将来的に作成される予定のソースのバージョンに関する情報が入力されると、当該情報を取得し、ソースバージョン定義情報に反映する。
なお、ソース情報管理装置１は、例えば、はじめてソース管理情報が作成された際に、当該ソース管理情報に基づき、ソースバージョン定義情報を自動的に生成しておく。
以下の説明において、ソースのバージョンを、「ソースバージョン」ともいうものとする。
【００１２】
ここで、図２は、実施の形態１において、ソース情報管理装置１が管理する、ソース管理情報およびソースバージョン定義情報の一例のイメージを示す図である。
図２Ａは、ソース管理情報の一例のイメージを示しており、図２Ｂは、ソースバージョン定義情報の一例のイメージを示している。なお、図２Ｂは、ユーザが計画している、ソースのバージョン追加等の予定がなく、将来的に作成される予定のソースのバージョンは定義されていない状態のソースバージョン定義情報の一例のイメージとしている。
【００１３】
図２Ａに示すように、ソース管理情報において、ソースは、１つ以上の階層を有する階層構造で管理される。なお、図２Ａでは、便宜上、ソースを、当該ソースに関連付けられているソースバージョンで表現するようにしている。
【００１４】
図２Ｂに示すように、ソースバージョン定義情報において、ソースバージョンは、１つ以上の階層を有する階層構造で定義される。
上述のとおり、ソースバージョン定義情報は、ソース管理情報で管理しているソースのソースバージョンを定義したものであるので、図２Ａで示すソースバージョンと、図２Ｂで示すソースバージョンは、一致している。
図２Ａに示すソース管理情報において、例えば、ソースバージョンが「Ｖｅｒ．２．０．０．１００３２」のソースと、当該ソースを派生させて作成した、ソースバージョンが「Ｖｅｒ．２．０．０．１００３３」のソースが管理されている。また、図２Ｂに示すソースバージョン定義情報において、例えば、「Ｖｅｒ．２．０．０．１００３２」のソースバージョンと、当該ソースバージョンがバージョンアップされた「Ｖｅｒ．２．０．０．１００３３」のソースバージョンが定義されている。
【００１５】
図１の説明に戻る。
ソース情報管理装置１は、受付部１１、バージョン情報追加部１２、ブランチ作成実行部１３、情報取得部１４、表示制御部１５、記憶部１６、および、ソースバージョン定義情報作成部１００を備える。
受付部１１は、バージョン指定情報受付部１１１および実行指示受付部１１２を備える。
表示制御部１５は、ソースバージョン表示制御部１５１を備える。
記憶部１６は、ソース管理情報記憶部１６１およびソースバージョン定義情報記憶部１６２を備える。
【００１６】
記憶部１６のソース管理情報記憶部１６１は、図２Ａを用いて説明したような、ソース管理情報を記憶する。
記憶部１６のソースバージョン定義情報記憶部１６２は、図２Ｂを用いて説明したような、ソースバージョン定義情報を記憶する。
なお、実施の形態１では、図１に示すように、記憶部１６は、ソース情報管理装置１に備えられるものとするが、これは一例に過ぎない。記憶部１６は、ソース情報管理装置１の外部の、ソース情報管理装置１が参照可能な場所に備えられるようにしてもよい。
【００１７】
受付部１１は、ＰＣ２から送信される、各種情報を受け付ける。
受付部１１のバージョン指定情報受付部１１１は、ソースバージョン定義情報で定義されている１つ以上のソースバージョンのうち、下位層に新たなソースバージョンを作成する対象となるソースバージョン（以下「対象ソースバージョン」という。）を指定した対象バージョン指定情報を取得する。
例えば、ユーザが、ソースのバージョンアップを行うことを計画したとする。この場合、ユーザは、ＰＣ２から、マウスまたはキーボード等の入力装置（図示省略）を操作して、バージョンアップする予定のソースのソースバージョンに関する情報を、上記対象バージョン指定情報として、入力する。まだ計画の段階であるので、実際にソースは作成しない。
バージョン指定情報受付部１１１は、ＰＣ２にてユーザが入力したバージョン指定情報を受け付ける。なお、ユーザがＰＣ２を操作してバージョン指定情報を入力し、ＰＣ２がソース情報管理装置１にバージョン指定情報を送信するまでの具体的な流れは、後述する。
【００１８】
ここでは、一例として、現在、ソース管理情報記憶部１６１には、図２Ａで示したような内容のソース管理情報が記憶されており、ソースバージョン定義情報記憶部１６２には、図２Ｂに示したような内容のソースバージョン定義情報が記憶されているものとする。そして、ユーザは、「Ｖｅｒ．２．０．２．０」のソースをバージョンアップして、「Ｖｅｒ．２．１．０．０」のソースを作成することを計画しているとする。
この場合、ユーザは、「Ｖｅｒ．２．０．２．０」を対象ソースバージョンとして、「Ｖｅｒ．２．１．０．０」を新たに作成する旨の対象バージョン指定情報を入力する。ＰＣ２は、「Ｖｅｒ．２．０．２．０」を対象ソースバージョンとして、「Ｖｅｒ．２．１．０．０」を新たに作成する旨の対象バージョン指定情報を、ソース情報管理装置１に送信する。対象バージョン指定情報には、ソースバージョン定義情報において、対象ソースバージョンとして「Ｖｅｒ．２．０．２．０」を指定する情報、および、当該対象ソースバージョンの下位層に新たに作成するソースバージョンとして、「Ｖｅｒ．２．１．０．０」を指定する情報が含まれる。
バージョン指定情報受付部１１１は、ＰＣ２から送信された対象バージョン指定情報を受け付ける。バージョン指定情報受付部１１１は、受け付けた対象バージョン指定情報を、バージョン情報追加部１２に出力する。
【００１９】
受付部１１の実行指示受付部１１２については後述し、先に、バージョン情報追加部１２について説明する。
バージョン情報追加部１２は、バージョン指定情報受付部１１１が受け付けたバージョン指定情報に基づき、ソースバージョン定義情報において、対象ソースバージョンの下位層に、当該対象ソースバージョンから派生させた新たなソースバージョンを追加する。
具体的には、上述の例でいうと、バージョン情報追加部１２は、「Ｖｅｒ．２．０．２．０」を対象ソースバージョンとして、「Ｖｅｒ．２．１．０．０」を新たに作成する旨の対象バージョン指定情報に基づき、図２Ｂで示すソースバージョン定義情報において、「Ｖｅｒ．２．０．２．０」の下位層に、「Ｖｅｒ．２．１．０．０」を追加する。
そうすると、図２Ｂで示すソースバージョン定義情報は、図３に示すようなイメージの内容となる。なお、計画の時点ではまだソースは作成されない。ソースは、例えば、ユーザが、計画していたソースバージョンをリリースする段階で、作成される。
したがって、この時点で、ソース管理情報は、図２Ａに示したような内容のままである。
このように、ソース情報管理装置１では、計画段階のソースについて、ソースバージョン定義情報にて、ソースバージョンを定義して管理しておくことができる。
【００２０】
受付部１１の説明に戻る。
受付部１１の実行指示受付部１１２は、ソース管理情報において、対象ソースバージョンのソースの下位層に、当該対象ソースバージョンのソースから派生した、新たなソースバージョンのソース、を追加させるためのブランチ作成コマンドを実行させるコマンド実行指示を受け付ける。当該コマンド実行指示は、ユーザの指示に基づき、ＰＣ２から送信される。当該コマンド実行指示には、下位層に新たにソースを作成するソース（以下「親ソース」という。）のソースバージョンを指定する情報、および、新たに作成するソースのソースバージョンが含まれる。なお、ユーザが、ＰＣ２から、コマンド実行指示を送信するまでの流れについては、後述する。
例えば、今、ユーザが、上述の例のような、「Ｖｅｒ．２．０．２．０」のソースをバージョンアップして、「Ｖｅｒ．２．１．０．０」のソースを作成する計画を実行し、「Ｖｅｒ．２．１．０．０」のソースをリリースするとする。
そうすると、ユーザは、ＰＣ２から、ソース管理情報において、親ソースのソースバージョンとして、「Ｖｅｒ．２．０．２．０」を指定する情報、および、新たに作成するソースのソースバージョンとして、「Ｖｅｒ．２．１．０．０」を指定する情報が含まれるコマンド実行指示を送信する。
実行指示受付部１１２は、当該コマンド実行指示を受け付ける。実行指示受付部１１２は、受け付けたコマンド実行指示をブランチ作成実行部１３に出力する。
【００２１】
ブランチ作成実行部１３は、実行指示受付部１１２がコマンド実行指示を受け付けた場合、ブランチ作成コマンドを実行する。ブランチ作成実行部１３によって、ブランチ作成コマンドが実行されると、コマンド実行指示に含まれている、親ソースのソースバージョンを指定する情報、および、新たに作成するソースのソースバージョンに基づき、新たに作成するソースのソースバージョンで、親ソースから派生させたソースが作成される。なお、ブランチ作成コマンドを実行させると、親ソースから派生させたソースは、親ソースの内容として作成される。
【００２２】
例えば、上述の例でいうと、ブランチ作成実行部１３が、親ソースのソースバージョンとして、「Ｖｅｒ．２．０．２．０」を指定する情報、および、新たに作成するソースのソースバージョンとして、「Ｖｅｒ．２．１．０．０」を指定する情報が含まれるコマンド実行指示を受け付けたとすると、ブランチ作成実行部１３は、ブランチ作成コマンドを実行し、「Ｖｅｒ．２．０．２．０」のソースの下位層に、「Ｖｅｒ．２．１．０．０」のソースを作成する。
そうすると、図２Ａで示すソース管理情報は、図４に示すようなイメージの内容となる。なお、この時点では、「Ｖｅｒ．２．１．０．０」のソースは、「Ｖｅｒ．２．０．２．０」のソースをコピーしたものである。当該「Ｖｅｒ．２．１．０．０」のソースが作成されると、ユーザが、ＰＣ２より、「Ｖｅｒ．２．１．０．０」のソースに対して、バージョンアップすべき内容を反映する作業を行う。
【００２３】
情報取得部１４は、記憶部１６を参照し、ソースバージョン定義情報を取得する。情報取得部１４は、取得したソースバージョン定義情報を、表示制御部１５に出力する。
【００２４】
表示制御部１５は、各種情報をＰＣ２が備える表示部（図示省略）に表示させる。
ソースバージョン表示制御部１５１は、例えば、情報取得部１４が取得したソースバージョン定義情報に基づく画面を、表示部に表示させる。
【００２５】
ソースバージョン定義情報作成部１００は、ソース管理情報に基づき、ソースバージョン定義情報を作成する。具体的には、例えば、ソース管理情報が記憶されているものの、ソースバージョン定義情報が存在しない場合に、ソースバージョン定義情報作成部１００が、ソースバージョン定義情報を作成する。
なお、ソース情報管理装置１において、ソースバージョン定義情報作成部１００は、必須の構成ではない。例えば、ユーザが予め、初期設定として、ソースバージョン定義情報を作成し、記憶させておくようにする場合、ソース情報管理装置１は、ソースバージョン定義情報作成部１００を備えないものとしてもよい。
【００２６】
ユーザがＰＣ２を操作してバージョン指定情報を入力し、ＰＣ２がソース情報管理装置１にバージョン指定情報を送信するまでの具体的な流れについて説明する。
なお、以下の説明では、上述の例のように、ユーザは、ＰＣ２から、ソースバージョン定義情報において、ソースバージョン「Ｖｅｒ．２．０．２．０」を対象ソースバージョンとして、ソースバージョン「Ｖｅｒ．２．１．０．０」を新たに作成する旨の対象バージョン指定情報を入力するものとする。
まず、ユーザは、入力装置を操作して、ＰＣ２の表示部に、ソースバージョン定義情報を表示させる。具体的には、ＰＣ２の受付部（図示省略）が、ユーザが入力したソースバージョン定義情報表示指示を受け付け、ＰＣ２の送信部（図示省略）が、受付部が受け付けたソースバージョン定義情報表示指示をソース情報管理装置１に送信する。ソース情報管理装置１の受付部１１は、ＰＣ２から送信されたソースバージョン定義情報表示指示を受け付け、情報取得部１４が、ソースバージョン定義情報記憶部１６２に記憶されているソースバージョン定義情報を取得し、表示制御部１５のソースバージョン表示制御部１５１に出力する。
ソースバージョン表示制御部１５１は、ソースバージョン定義情報を表示させたソースバージョン定義情報表示画面を、ＰＣ２の表示部に表示させる。
なお、ユーザは、ソースバージョン定義情報においてソースバージョンを追加等する場合に限らず、適宜、上述の方法で、ソースバージョン定義情報を表示したソースバージョン定義情報表示画面５０１を表示させることができる。
【００２７】
図５は、実施の形態１において、ソースバージョン表示制御部１５１が表示させたソースバージョン定義情報表示画面５０１の一例のイメージを示す図である。
図５に示すように、ソースバージョン定義情報表示画面５０１は、ソースバージョン定義情報に従い、当該ソースバージョン定義情報で定義されているソースバージョンを階層構造で表示した階層図である。
ソースバージョン表示制御部１５１は、ソースバージョン定義情報表示画面５０１にてソースバージョン定義情報を表示させた際、あわせて、例えば、バージョン編集ボタン５０２を表示させるようにする。バージョン編集ボタン５０２は、ソースバージョン定義情報を編集するためのバージョン編集画面を呼び出す指示を入力するための入力部である。
【００２８】
図５に示すようなソースバージョン定義情報表示画面５０１が表示されると、ユーザは、ＰＣ２から、入力装置を操作して、バージョン編集画面を呼び出す。具体的には、ユーザは、バージョン編集ボタン５０２をクリック等して、バージョン編集画面呼出指示を入力する。
ＰＣ２の受付部は、バージョン編集画面呼出指示を受け付け、ＰＣ２の送信部は、当該バージョン編集画面呼出指示を、ソース情報管理装置１に送信する。ソース情報管理装置１の受付部１１は、バージョン編集画面呼出指示を受け付け、表示制御部１５に当該バージョン編集画面呼出指示を受け付けた旨の情報を出力する。表示制御部１５は、ＰＣ２の表示部に、バージョン編集画面を表示させる。
【００２９】
図６は、実施の形態１において、ＰＣ２の表示部が表示したバージョン編集画面６０１の一例のイメージを示す図である。
表示制御部１５は、図６に示すようなバージョン編集画面６０１を、図５に示すようなソースバージョン定義情報表示画面５０１に重畳表示してもよいし、ソースバージョン定義情報表示画面５０１から切り替えて表示するようにしてもよい。
表示制御部１５は、バージョン編集画面６０１において、バージョン名入力部６０１１、親バージョン指定画面呼出部６０１２、マージバージョン指定画面呼出部６０１３、保存ボタン６０１４、ブランチ作成ボタン６０１５、削除ボタン６０１６、および、キャンセルボタン６０１７を表示させる。
【００３０】
ユーザは、バージョン編集画面６０１から、バージョンアップを計画しているソースに関する情報を入力する。具体的には、ユーザは、バージョン編集画面６０１から、新たに作成するソースバージョンの情報と、対象ソースバージョンの情報を入力する。ここでは、ユーザは、バージョン名入力部６０１１に、「Ｖｅｒ．２．１．０．０」の情報を入力する。そして、ユーザは、親バージョン指定画面呼出部６０１２を入力装置によってクリックして、呼び出した親バージョン指定画面から、親バージョンとして、対象ソースバージョン「Ｖｅｒ．２．０．２．０」の情報を入力する。具体的には、ユーザは、まず、親バージョン指定画面呼出部６０１２をクリックして、親バージョン指定画面呼出指示を入力する。ＰＣ２の受付部は、親バージョン指定画面呼出指示を受け付け、ＰＣ２の送信部は、当該親バージョン指定画面呼出指示をソース情報管理装置１に送信する。ソース情報管理装置１の受付部１１は、親バージョン指定画面呼出指示を受け付け、ソース情報管理装置１の表示制御部１５は、ＰＣ２の表示部に、親バージョン指定画面を表示させる。
そして、ユーザは、表示部に表示された親バージョン指定画面から、対象ソースバージョン「Ｖｅｒ．２．０．２．０」の情報を入力する。
【００３１】
図７は、実施の形態１において、ソース情報管理装置１の表示制御部１５が表示させた親バージョン指定画面から、ユーザが、親バージョンとして、対象ソースバージョン「Ｖｅｒ．２．０．２．０」の情報を入力する流れのイメージを説明する図である。
図６に示したようなバージョン編集画面６０１から、ユーザが、親バージョン指定画面を呼び出すと、親バージョン指定画面が表示される（図７の７０１参照）。ここでは、図７に示すように、親バージョン指定画面は、例えば、親バージョンとして指定され得るソースバージョンが一覧化された画面としている。表示制御部１５は、親バージョン指定画面を表示させる際、ソースバージョン定義情報で定義されているソースバージョンの情報を、一覧化して表示させるようにすればよい。なお、表示制御部１５は、親バージョン指定画面７０１を、例えば、バージョン編集画面６０１に重畳させて表示するようにしてもよいし、バージョン編集画面６０１から切り替えて表示するようにしてもよい。
【００３２】
ユーザは、入力装置を操作して、表示された親バージョン指定画面から、親バージョンとして指定したいソースバージョンの情報を入力する。ここでは、ユーザは、「Ｖｅｒ．２．０．２．０」の情報を入力する（図７の７０２参照）。具体的には、ユーザは、例えば、一覧から「Ｖｅｒ．２．０．２．０」を選択し、決定ボタン７０２１をクリックすることで、「Ｖｅｒ．２．０．２．０」の情報を入力する。
そうすると、バージョン編集画面６０１において、新たに作成するソースバージョンとして「Ｖｅｒ．２．１．０．０」、対象ソースバージョンとして「Ｖｅｒ．２．０．２．０」が入力されたことになる（図８参照）。
【００３３】
ユーザは、入力装置を操作して、バージョン編集画面６０１の保存ボタン６０１４をクリックする。ＰＣ２の受付部は、保存ボタン６０１４がクリックされると、これを受け付ける。そして、ＰＣ２の送信部は、新たに作成するソースバージョンとして「Ｖｅｒ．２．１．０．０」の情報と、対象ソースバージョンとして「Ｖｅｒ．２．０．２．０」の情報を含む、対象バージョン指定情報を、ソース情報管理装置１に送信する。ソース情報管理装置１のバージョン指定情報受付部１１１は、当該対象バージョン指定情報を受け付ける。
そして、ソース情報管理装置１では、上述のとおり、バージョン情報追加部１２が、ソースバージョン定義情報に、対象バージョン指定情報の内容を反映する。その結果、ソースバージョン定義情報は、図３に示すような内容となる。
なお、このとき、「Ｖｅｒ．２．１．０．０」のソースは、まだ作成の計画段階であるため、作成されていない。すなわち、「Ｖｅｒ．２．１．０．０」のソースバージョンが、ソースバージョン定義情報にて定義されるが、ソース管理情報においては、「Ｖｅｒ．２．１．０．０」のソースは作成されていない（図４参照）。
【００３４】
バージョン編集画面６０１におけるマージバージョン指定画面呼出部６０１３、および、ブランチ作成ボタン６０１５については後述する。バージョン編集画面６０１における削除ボタン６０１６は、ソースバージョン定義情報において、指定したソースバージョンを削除する際に用いられる。例えば、ユーザは、ＰＣ２の入力装置を操作して、バージョン名入力部６０１１に、ソースバージョン定義情報において削除したいソースバージョンの情報を入力し、削除ボタン６０１６をクリックすることで、ソースバージョンを削除する旨の対象バージョン指定情報を入力することもできる。
【００３５】
バージョン編集画面６０１におけるキャンセルボタン６０１７は、バージョン編集画面６０１での入力をキャンセルする指示を入力するためのボタンである。例えば、図８に示すような状態のバージョン編集画面６０１において、ユーザが、入力装置を操作してキャンセルボタン６０１７をクリックすると、「Ｖｅｒ．２．１．０．０」、および、「Ｖｅｒ．２．０．２．０」の入力をキャンセルすることができる。
【００３６】
次に、ユーザが、ＰＣ２を操作して、ソース管理情報において、対象ソースバージョンのソースの下位層に、新たなソースバージョンのソースを追加させるためのブランチ作成コマンドを実行させるコマンド実行指示を送信する手順について説明する。
なお、以下の説明では、一例として、ユーザは、計画済みの、ソースバージョン「Ｖｅｒ．２．１．０．０」を実際にリリースするものとし、当該「Ｖｅｒ．２．１．０．０」のソースを新たに作成するものとする。なお、ソースバージョン定義情報は、図３に示すような内容であるものとする。また、ソース管理情報は、図２Ａに示すような内容であるものとする。
【００３７】
まず、ユーザは、ＰＣ２にソースバージョン定義情報表示画面５０１を表示させる。ＰＣ２がソースバージョン定義情報表示画面５０１を表示させる流れについては、説明済みであるため、重複した説明を省略する。
図９は、実施の形態１において、ソース情報管理装置１の表示制御部１５のソースバージョン表示制御部１５１が、図３に示す内容のソースバージョン定義情報を表示させた、ソースバージョン定義情報表示画面９０１の一例のイメージを示す図である。
【００３８】
図９に示すように、ソースバージョン表示制御部１５１は、ソースバージョン定義情報表示画面９０１において、ソースバージョン定義情報に定義されているソースバージョンであって、かつ、まだ、ソース管理情報において当該ソースバージョンのソースが作成されていないソースバージョンについては、他のソースバージョンとは異なる形態で表示させる。ソースバージョン定義情報に定義されているソースバージョンであって、かつ、まだ、ソース管理情報において当該ソースバージョンのソースが作成されていないソースバージョンとは、言い換えれば、バージョン情報追加部１２がソースバージョン定義情報に追加したソースバージョンであって、かつ、ブランチ作成実行部１３がブランチ作成コマンドを実行させていないソースバージョンであり、ここでいうと、「Ｖｅｒ．２．１．０．０」である。
【００３９】
例えば、ソースバージョン表示制御部１５１は、「Ｖｅｒ．２．１．０．０」を表示している図形の色を、他のソースバージョンを表示している図形の色とは異ならせるようにする（図９の９０１１参照）。なお、図９では、便宜上、「Ｖｅｒ．２．１．０．０」を表示している図形の色が、他のソースバージョンを表示している図形の色とは異なることを、斜線によって表現している。
このように、ソースバージョン表示制御部１５１が、バージョン情報追加部１２が追加した新たなソースバージョンであって、かつ、ブランチ作成実行部１３がブランチ作成コマンドを実行させていないソースバージョンを、他のソースバージョンとは異なる形態で表示させることができる。そのため、ユーザは、表示されたソースバージョン定義情報を確認すれば、計画段階であって、実際にはまだソースの作成を行っていないソースバージョンを把握することができる。
【００４０】
ユーザは、ソースバージョン定義情報表示画面９０１を表示させ、新たに作成するソースのソースバージョンを確認すると、ブランチ作成指示入力画面を呼び出す。ＰＣ２は、ブランチ作成指示入力画面呼出指示を受け付け、ソース情報管理装置１の表示制御部１５が、ブランチ作成指示入力画面を表示させる。当該ブランチ作成指示入力画面が表示されるまでの流れは、説明済みの、バージョン編集画面６０１が表示されるまでの流れと同様であるため、重複した説明を省略する。実施の形態１では、バージョン編集画面６０１の内容と、ブランチ作成指示入力画面の内容は、同じであるものとする。
【００４１】
ユーザは、ブランチ作成指示入力画面から、バージョン名入力部６０１１に、追加したいソースのソースバージョン「Ｖｅｒ．２．１．０．０」の情報を入力する。また、ユーザは、親バーション指定画面を呼び出し、追加したいソースの親ソースのバージョン（以下「親バージョン」という。）「Ｖｅｒ．２．０．２．０」を入力する。
その結果、図１０に示すような、ブランチ作成指示入力画面１００１が表示される。
ユーザは、例えば、ブランチ作成指示入力画面１００１のブランチ作成ボタン６０１５を入力装置でクリックして、上述のコマンド実行指示を入力する。ＰＣ２の受付部は、コマンド実行指示を受け付ける。コマンド実行指示には、入力された、新たに作成するソースのソースバージョン「Ｖｅｒ．２．１．０．０」の情報と、親バージョン「Ｖｅｒ．２．０．２．０」の情報が含まれる。ＰＣ２の送信部は、当該コマンド実行指示を、ソース情報管理装置１に送信する。ソース情報管理装置１の実行指示受付部１１２は、当該コマンド実行指示を受け付け、ブランチ作成実行部１３が、ソース管理情報に、当該コマンド実行指示の内容を反映する。
その結果、ソース情報管理装置１では、図４に示すようなソース管理情報が管理されるようになる。
【００４２】
なお、ブランチ作成実行部１３は、コマンド実行指示に基づき、ソース管理情報にソースを追加させると、ソースバージョン定義情報において、追加したソースのソースバージョンに、コマンド実行済みフラグを付与する。
以降、ソースバージョン表示制御部１５１は、ソースバージョン定義情報表示画面（図５参照）にてソースバージョン定義情報を表示させる際、例えば、「Ｖｅｒ．２．１．０．０」を、他のソースバージョンと同じ形態で表示させる。
このように、ソースバージョン表示制御部１５１は、ソースバージョン定義情報表示画面にてソースバージョン定義情報を表示させる際の、ソースバージョンの表示形態を、コマンド実行済みフラグが付与されているか否かによってコントロールする。
なお、ソースバージョン定義情報作成部１００は、ソース管理情報に基づき、ソースバージョン定義情報を作成する際、ソースバージョン定義情報のソースバージョンに、上記コマンド実行済みフラグが付与された状態で、当該ソースバージョン定義情報を作成するようにしている。
【００４３】
ソース情報管理装置１の動作について説明する。
図１１は、実施の形態１に係るソース情報管理装置１の動作を説明するためのフローチャートである。
バージョン指定情報受付部１１１は、ソースバージョン定義情報で定義されているソースバージョンのうち、対象ソースバージョンを指定した対象バージョン指定情報を受け付ける（ステップＳＴ１１０１）。
バージョン指定情報受付部１１１は、受け付けた対象バージョン指定情報を、バージョン情報追加部１２に出力する。
【００４４】
バージョン情報追加部１２は、ステップＳＴ１１０１にてバージョン指定情報受付部１１１が取得したバージョン指定情報に基づき、ソースバージョン定義情報において、対象ソースバージョンの下位層に、当該対象ソースバージョンから派生させた新たなソースバージョンを追加する（ステップＳＴ１１０２）。
【００４５】
実行指示受付部１１２は、コマンド実行指示を受け付けたか否かを判定する（ステップＳＴ１１０３）。
ステップＳＴ１１０３において、実行指示受付部１１２がコマンド実行指示を受け付けていない場合（ステップＳＴ１１０３の“ＮＯ”の場合）、実行指示受付部１１２は、コマンド実行指示を受け付けるまで待機する。
【００４６】
ステップＳＴ１１０３において、実行指示受付部１１２がコマンド実行指示を受け付けた場合（ステップＳＴ１１０３の“ＹＥＳ”の場合）、実行指示受付部１１２は、当該コマンド実行指示を、ブランチ作成実行部１３に出力する。
【００４７】
ブランチ作成実行部１３は、ステップＳＴ１１０３にて実行指示受付部１１２からコマンド実行指示が出力されると、ブランチ作成コマンドを実行する（ステップＳＴ１１０４）。
【００４８】
なお、図１１において、ステップＳＴ１１０２〜ステップＳＴ１１０３の動作は、連続して行われなくてもよい。
また、図１１では、ステップＳＴ１１０３において、実行指示受付部１１２は、コマンド実行指示を受け付けるまで待機するものとしたが、これに限らず、実行指示受付部１１２がコマンド実行指示を受け付けなければ（ステップＳＴ１１０３の“ＮＯ”の場合）、ソース情報管理装置１は、処理を終了するようにしてもよい。
【００４９】
以上の説明では、ソース情報管理装置１において、バージョン指定情報受付部１１１が受け付けるバージョン指定情報に含まれる対象ソースバージョンは１つとし、バージョン情報追加部１２は、ソースバージョン定義情報において、１つの対象ソースバージョンの下位層に、新たなソースバージョンを追加するものとした。すなわち、ユーザは、ソースバージョン定義情報に対して、１つの対象ソースバージョンの下には、１つのソースバージョンを追加させる指示を入力するものとした。
しかしながら、これは一例に過ぎず、ユーザは、例えば、複数のソースを統合して新たなソースを作成する計画を立てることもある。
【００５０】
この場合、ユーザは、将来的な計画として、対象ソースバージョンとして、複数のソースバージョンを指定し、ソースバージョン定義情報において、当該複数のソースバージョンの下位層に１つの新たなソースバージョンを作成することができる。ソース情報管理装置１は、複数の対象バージョンを指定する情報を含むバージョン指定情報を受け付け、当該複数の対象バージョンの下位層に、新たなソースバージョンを追加する。
具体的には、バージョン指定情報受付部１１１が受け付けるバージョン指定情報に含まれる対象ソースバージョンが複数である場合、バージョン情報追加部１２は、バージョン指定情報受付部１１１が取得したバージョン指定情報に基づき、ソースバージョン定義情報において、複数の対象ソースバージョンの下位層に、当該複数の対象ソースバージョンから派生させた１つの新たなソースバージョンを追加する。
【００５１】
例えば、ユーザが、対象バージョンとして「Ｖｅｒ．２．０．２．０」、「Ｖｅｒ．２．０．０．１００３３」、「Ｖｅｒ．２．０．０．２０１５３」、および、「Ｖｅｒ．２．０．０．２０１８０」を指定する情報、および、新たに作成するソースバージョンとして「Ｖｅｒ．２．１．０．０」を指定する情報を含むバージョン指定情報を入力し、当該バージョン指定情報が、ＰＣ２からソース情報管理装置１に送信されたとする。
なお、このとき、ユーザは、複数の対象バージョンのうち、メインとする対象バージョンを指定する。当該メインとする対象バージョンは、親バージョンとして指定される。ユーザは、親バージョンではない対象バージョンは、マージバージョンとして指定する。バージョン指定情報において、複数の対象バージョンのうち、どの対象バージョンが親バージョンで、どの対象バージョンがマージバージョンであるかは判別可能となっている。
親バージョンは、後に、ソース管理情報において、複数のソースから新たなソースを追加する際にメイン、言い換えれば、親、となるソースのソースバージョンである。なお、ユーザは、複数のソースから新たなソースを作成する際は、親となるソースを１つ指定することが必要となる。親ソースに対して、その他のソースがマージされることで、複数のソースから派生した新たなソースが作成される。なお、新たなソースが作成される際にマージされる、親バージョンのソース以外のソースのソースバージョンを、マージバージョンというものとする。
ここでは、上記複数の対象ソースバージョンのうち、「Ｖｅｒ．２．０．２．０」が親バージョンに指定されているものとする。
【００５２】
バージョン情報追加部１２が、ソースバージョン定義情報において、「Ｖｅｒ．２．０．２．０」、「Ｖｅｒ．２．０．０．１００３３」、「Ｖｅｒ．２．０．０．２０１５３」、および、「Ｖｅｒ．２．０．０．２０１８０」から派生させた新たな「Ｖｅｒ．２．１．０．０」を追加した結果、ソースバージョン定義情報の内容は、図１２に示すようなイメージとなる。
そして、ソース情報管理装置１のソースバージョン表示制御部１５１が、図１２に示すようなソースバージョン定義情報に基づいて、ソースバージョン定義情報表示画面をＰＣ２の表示部に表示させると、当該ソースバージョン定義情報表示画面１３０１は、図１３に示すような画面となる。
図１３に示すように、ソースバージョン定義情報表示画面１３０１において、複数のソースバージョンを統合して作成されたソースバージョンがある場合、当該作成されたソースバージョンと、統合元の複数のソースバージョンとを結ぶ線がそれぞれ表示される（図１３の１３０２参照）。
【００５３】
また、ユーザは、実際に、複数のソースを統合して新たなソースを作成することがある。
例えば、ソースバージョン定義情報が図１２に示すような内容である状態で、ユーザが、ＰＣ２から、ソースバージョン「Ｖｅｒ．２．０．２．０」、「Ｖｅｒ．２．０．０．１００３３」、「Ｖｅｒ．２．０．０．２０１５３」、および、「Ｖｅｒ．２．０．０．２０１８０」のソースをマージさせてバージョンアップし、ソースバージョン「Ｖｅｒ．２．１．０．０」のソースを作成する計画を、実行するとする。
そうすると、ユーザは、ＰＣ２から、下位層に新たにソースを作成するソースのソースバージョンとして、「Ｖｅｒ．２．０．２．０」、「Ｖｅｒ．２．０．０．１００３３」、「Ｖｅｒ．２．０．０．２０１５３」、および、「Ｖｅｒ．２．０．０．２０１８０」を指定する情報、および、新たに作成するソースのソースバージョンとして、「Ｖｅｒ．２．１．０．０」を指定する情報が含まれるコマンド実行指示を入力し、ＰＣ２の送信部は、当該コマンド実行指示を、ソース情報管理装置１に送信する。ここで、下位層に新たにソースを作成するソースが複数あるため、ユーザは、当該複数のソースのソースバージョンのうち、１つを親ソースのソースバージョンとし、残りは親ソースではないソース（以下「マージソース」という。）のソースバージョンとして指定する必要がある。ここでは、ユーザは、「Ｖｅｒ．２．０．２．０」を親ソースとし、「Ｖｅｒ．２．０．０．１００３３」、「Ｖｅｒ．２．０．０．２０１５３」、および、「Ｖｅｒ．２．０．０．２０１８０」をマージソースとするものとする。
【００５４】
ソース情報管理装置１の実行指示受付部１１２は、当該コマンド実行指示を受け付ける。そして、ソース情報管理装置１のブランチ作成実行部１３は、ブランチ作成コマンドを実行し、「Ｖｅｒ．２．０．２．０」、「Ｖｅｒ．２．０．０．１００３３」、「Ｖｅｒ．２．０．０．２０１５３」、および、「Ｖｅｒ．２．０．０．２０１８０」のソースの下位層に、「Ｖｅｒ．２．１．０．０」のソースを作成する。
そうすると、ソース管理情報は、図１４に示すようなイメージの内容となる。
【００５５】
なお、イメージとしては、図１４に示すようなものであるが、実際に、ソース管理情報において、複数のソースが統合されて１つのソースが作成されたことを表現することはできない。
これは、ブランチ作成実行部１３がブランチ作成コマンドを実行すると、既存のソース管理ソフトが起動して、親ソースから派生させたソースが作成されるが、当該ソース管理ソフトでは、１つの親ソースに対して１つ以上のマージソースがマージされて統合されたことを表現することができないためである。
従って、ユーザは、例えば、ソース管理情報を表示させることによって、ソース管理情報から、複数のソースが統合されて１つのソースが作成されたことを、視覚的に把握することはできない。
しかし、上述のとおり、実施の形態１に係るソース情報管理装置１では、ソースバージョン定義情報を記憶しており、当該ソースバージョン定義情報は、図１３で説明したように、ソースバージョン定義情報表示画面１３０１において、複数のソースバージョンを統合して作成されたソースバージョンがある場合、当該作成されたソースバージョンと、統合元の複数のソースバージョンとを結ぶ線が表示される。
そのため、ユーザは、ソースバージョン定義情報を表示させるようにすることで、複数のソースが統合されて１つのソースを作成する計画があること、および、計画が実行されて、複数のソースが統合された１つのソースが作成されたことを、視覚的に把握することができる。
【００５６】
ユーザがＰＣ２を操作して、複数の対象バージョンを指定したバージョン指定情報を入力し、ＰＣ２がソース情報管理装置１にバージョン指定情報を送信するまでの基本的な流れは、図６〜図８を用いて説明した流れと同じであるため、詳細な説明については省略する。
上述の例で計画したソースバージョン（「Ｖｅｒ．２．０．２．０」、「Ｖｅｒ．２．０．０．１００３３」、「Ｖｅｒ．２．０．０．２０１５３」、および、「Ｖｅｒ．２．０．０．２０１８０」をバージョンアップした「Ｖｅｒ．２．１．０．０」）のソースを追加するものとすると、ユーザは、ＰＣ２を操作して、複数の対象バージョンを指定したバージョン指定情報を入力する際には、図６に示したようなバージョン編集画面から、バージョン名入力部６０１１に、新たに作成するソースのソースバージョンを入力し、親バージョン指定画面を呼び出して親バージョンの情報を入力し、さらに、マージバージョン指定画面を呼び出してマージバージョンの情報を入力する。
ユーザは、マージバージョン指定画面呼出部６０１３を入力装置によってクリックして、呼び出したマージバージョン指定画面から、マージバージョンとして、対象ソースバージョンの情報を入力する。なお、表示制御部１５は、親バージョン指定画面を表示させるのと同様の方法で、マージバージョン指定画面を表示させればよい。
そして、ユーザは、入力装置を操作して、バージョン編集画面６０１の保存ボタン６０１４をクリックする。ＰＣ２の送信部は、新たに作成するソースバージョンとして「Ｖｅｒ．２．１．０．０」の情報と、対象ソースバージョンとして「Ｖｅｒ．２．０．２．０」、「Ｖｅｒ．２．０．０．１００３３」、「Ｖｅｒ．２．０．０．２０１５３」、および、「Ｖｅｒ．２．０．０．２０１８０」の情報を含む、対象バージョン指定情報を、ソース情報管理装置１に送信する。なお、対象バージョン指定情報において、複数の対象ソースバージョンのうち、どのソースバージョンが親バージョンで、どのソースバージョンがマージバージョンであるかがわかるようになっている。
【００５７】
ユーザがＰＣ２を操作して、複数の対象バージョンのソースの下位層に、新たなバージョンのソースを追加させるためのコマンド実行指示を送信するまでの基本的な流れは、図１０を用いて説明した流れと同じであるため、詳細な説明については省略する。
ユーザは、図１０で説明したような、ブランチ作成指示入力画面１００１において、
親バージョンに加えて、マージバージョンも入力する。
なお、ユーザは、図６に示したようなバージョン編集画面からマージバージョンを指定する際、当該マージバージョンを、全マージバージョンとして指定することも、部分マージバージョンとして指定することもできる。
実施の形態１において、全マージバージョンとは、ソースに含まれる項目を全て親バージョンのソースにマージすることとするソースのソースバージョンであることをいう。また、実施の形態１において、部分マージバージョンとは、ソースに含まれる項目を部分的に親バージョンのソースにマージすることとするソースのソースバージョンであることをいう。
【００５８】
例えば、表示制御部１５は、マージバージョン指定画面を表示させる際、全マージバージョンとするか、部分マージバージョンとするかを受け付け可能なマージバージョン指定画面を表示させるようにする。ユーザは、マージバージョン指定画面から、入力装置を操作して、マージバージョンを入力するとともに、入力したマージバージョンが全マージバージョンであるか、部分マージバージョンであるかを入力する。ユーザは、部分マージバージョンを入力した際は、どの項目をマージの対象とするかを、あわせて入力するようにする（図１５参照）。
図１６は、新たに作成するソースバージョン、親バージョン、および、マージバージョンが入力されたバージョン編集画面１６０１の一例を示す図である。図１６では、一例として、マージバージョンには「Ｖｅｒ．２．０．０．１００３３」、「Ｖｅｒ．２．０．０．２０１５３」、および、「Ｖｅｒ．２．０．０．２０１８０」が指定され、マージバージョンのうち、「Ｖｅｒ．２．０．０．１００３３」は、部分マージバージョンと指定された（図１５参照）場合のバージョン編集画面１６０１を示している。
図１６に示すように、マージバージョンが入力されたバージョン編集画面において、表示制御部１５は、部分マージバージョンについては、例えば、当該部分マージバージョンの表示色を、全マージバージョンの表示色とは異ならせるようにできる（図１６の１６０２参照）。
【００５９】
ＰＣ２の受付部が受け付ける対象バージョン指定情報には、マージバージョンが全マージバージョンであるか部分マージバージョンであるか、部分マージバージョンである場合は、どの項目をマージの対象とするかの情報が含まれるものとする。
ソース情報管理装置１では、対象バージョン指定情報を受け付け、バージョン情報追加部１２がソースバージョン定義情報に新たなソースバージョンを追加する際、複数の対象ソースバージョンについて、全マージであるか部分マージであるかが分かる情報を付与するようにする。
【００６０】
ソースバージョン定義情報において、定義されているソースバージョンに、全マージであるか部分マージであるかが分かる情報が付与されている場合、ソース情報管理装置１のソースバージョン表示制御部１５１が、当該ソースバージョン定義情報に基づいて、ソースバージョン定義情報表示画面をＰＣ２の表示部に表示させると、当該ソースバージョン定義情報表示画面は、図１７に示すような画面となる。
図１７に示すように、ソースバージョン定義情報表示画面１７０１において、複数のソースバージョンを統合して作成されたソースバージョンがある場合、当該作成されたソースバージョンと、統合元の複数のソースバージョンとを結ぶ線が表示される。また、ソースバージョン表示制御部１５１は、部分マージバージョンに指定されたソースバージョンと新たなソースバージョンとを結ぶ線を、親バージョンに指定されたソースバージョンと新たなソースバージョンとを結ぶ線、および、全マージバージョンに指定されたソースバージョンと新たなソースバージョンとを結ぶ線とは異なる形態で表示させる。
ここでは、「Ｖｅｒ．２．０．２．０」が親バージョン、「Ｖｅｒ．２．０．０．１００３３」が部分マージバージョン、「Ｖｅｒ．２．０．０．２０１５３」、および、「Ｖｅｒ．２．０．０．２０１８０」が全マージバージョンとして「Ｖｅｒ．２．１．０．０」が追加されたとする。この場合、ソースバージョン表示制御部１５１は、「Ｖｅｒ．２．０．０．１００３３」が部分マージバージョンであることがわかるように、部分マージバージョンから「Ｖｅｒ．２．１．０．０」へ延びる線を点線で表示するようにしている（図１７の１７０２参照）。
【００６１】
また、以上の実施の形態１において、ソース情報管理装置１は、ソースバージョン定義情報において、ソースバージョンに付属情報を付与して当該ソースバージョン定義情報を記憶させておくこともできる。さらに、ソース情報管理装置１は、複数のソースバージョン間で、付与された付属情報の比較を行い、差分を取るようにすることもできる。
その場合、ソース情報管理装置１は、図１８に示すような構成となる。
図１８に示すソース情報管理装置１ａは、図１を用いて説明したソース情報管理装置１とは、受付部１１ａが、付属情報受付部１１３と、差分分析指示受付部１１４をさらに備えるようにした点、付属情報追加部１７を備えるようにした点、および、比較部１８を備えるようにした点が異なる。
【００６２】
付属情報受付部１１３は、ソースバージョン定義情報で定義されているソースバージョンに付与する付属情報を受け付ける。
実施の形態１において、ソースバージョンに付与する付属情報とは、ユーザの覚書となる、ソースまたはソースバージョンに関する情報である。具体的には、付属情報は、例えば、ソースバージョン定義情報にソースバージョンの定義を追加した日、または、ソースバージョンに対応するソースのリリース予定日である。なお、これは一例に過ぎず、付属情報は、当該付属情報を付与されたソースバージョンについてユーザの覚書となるあらゆる情報を含む。
【００６３】
例えば、ユーザは、ＰＣ２から、入力装置を操作して、付属情報を入力する。
付属情報受付部１１３は、ＰＣ２にてユーザが入力した付属情報を受け付ける。なお、ユーザがＰＣ２を操作して付属情報を入力し、ＰＣ２がソース情報管理装置１ａに付属情報を送信するまでの具体的な流れは、後述する。
付属情報受付部１１３は、受け付けた付属情報を、付属情報追加部１７に出力する。
【００６４】
差分分析指示受付部１１４は、ソースバージョン定義情報で定義されているソースバージョンのうち、ソースバージョンに付与されている付属情報を比較する対象とする、複数のソースバージョン（以下「比較対象ソースバージョン」という。）に関する情報を、差分分析指示情報として、受け付ける。
例えば、ユーザは、ＰＣ２から、入力装置を操作して、比較対象ソースバージョンに関する情報を、差分分析指示情報として入力する。
差分分析指示受付部１１４は、ＰＣ２にてユーザが入力した差分分析指示情報を受け付ける。なお、ユーザがＰＣ２を操作して差分分析指示情報を入力し、ＰＣ２がソース情報管理装置１ａに差分分析指示情報を送信するまでの具体的な流れは、後述する。
【００６５】
付属情報追加部１７は、ソースバージョン定義情報において、付属情報受付部１１３が受け付けた付属情報を、付与する。付属情報には、当該付属情報を付与するソースバージョンの情報が含まれており、付属情報追加部１７は、付属情報から、どのソースバージョンに付属情報を付与すべきかを特定可能である。
【００６６】
比較部１８は、ソースバージョン定義情報において、差分分析指示受付部１１４が受け付けた差分指示情報に基づき、比較対象ソースバージョンに付与されている付属情報を比較する。なお、比較部１８は、比較対象ソースバージョンが３つ以上である場合、例えば、当該３つ以上の比較対象ソースバージョンを、世代毎に比較し、当該世代毎の差分を抽出する。
比較部１８は、比較結果に関する情報を、表示制御部１５ａに出力する。
表示制御部１５ａは、比較部１８が付属情報を比較した比較結果に関する情報を、ＰＣ２の表示部に表示させる。
【００６７】
ユーザがＰＣ２を操作して付属情報を入力し、ＰＣ２がソース情報管理装置１ａに付属情報を送信するまでの具体的な流れについて、説明する。
なお、以下の説明では、一例として、ユーザは、ＰＣ２から、ソースバージョン「Ｖｅｒ．２．１．０．０」に付与する付属情報を入力するものとする。
まず、ユーザは、入力装置を操作して、ＰＣ２の表示部に、ソースバージョン定義情報を表示したソースバージョン定義情報表示画面を表示させる。ユーザがＰＣ２を操作して、ソースバージョン定義情報表示画面を表示させるまでの具体的な流れは説明済みであるため、詳細な説明については省略する。
図１９は、実施の形態１において、ソース情報管理装置１ａが図１８に示す構成を有する場合に、ソース情報管理装置１ａのソースバージョン表示制御部１５１が表示させたソースバージョン定義情報表示画面１９０１の一例のイメージを示す図である。
図１９に示すように、ソースバージョン表示制御部１５１は、ソースバージョン定義情報表示画面１９０１において、付属情報編集ボタン１９０２および差分分析ボタン１９０３を表示させるようにする。付属情報編集ボタン１９０２は、付属情報を入力するための付属情報編集画面を呼び出す指示を入力するための入力部である。差分分析ボタン１９０３は、比較対象バージョンを入力するための差分分析指示入力画面を呼び出す指示を入力するための入力部である。差分分析ボタン１９０３については後述する。
【００６８】
図１９に示すようなソースバージョン定義情報表示画面１９０１が表示されると、ユーザは、ＰＣ２から、入力装置を操作して、付属情報編集画面１９０４を呼び出す。具体的には、ユーザは、付属情報編集ボタン１９０２をクリック等して、付属情報編集画面呼出指示を入力する。
ＰＣ２の受付部は、付属情報編集画面呼出指示を受け付け、ＰＣ２の送信部は、当該付属情報編集画面呼出指示を、ソース情報管理装置１ａに送信する。ソース情報管理装置１ａの受付部１１ａは、付属情報編集画面呼出指示を受け付け、表示制御部１５ａに当該付属情報編集画面呼出指示を受け付けた旨の情報を出力する。表示制御部１５ａは、ＰＣ２の表示部に、付属情報編集画面１９０４を表示させる。
表示制御部１５ａは、付属情報編集画面１９０４を、例えば、ソースバージョン定義情報表示画面１９０１に重畳表示させるようにしてもよいし、ソースバージョン定義情報表示画面１９０１から切り替えて表示させるようにしてもよい。図１９では、便宜上、表示制御部１５ａが、付属情報編集画面１９０４を表示させた場合の、付属情報編集画面１９０４の一例のイメージを、ソースバージョン定義情報表示画面１９０１に重ねて示すようにしている。
【００６９】
ユーザは、付属情報編集画面１９０４から、付属情報を入力する。上述のとおり、付属情報には、当該付属情報を付与するソースバージョンに関する情報が含まれる。ユーザは、少なくとも、付属情報の内容、および、当該付属情報を付与するソースバージョンに関する情報を入力する。
ユーザは、例えば、ソースバージョン定義情報表示画面１９０１から、付属情報を付与するソースバージョンを指定することができる。具体的には、ユーザは、入力装置を操作し、ソースバージョン定義情報表示画面１９０１で表示されているソースバージョンをクリックすることで、当該ソースバージョンを、付属情報を付与するソースバージョンに指定することができる（図１９の１９０５参照）。
そして、付属情報編集画面１９０４にて、付属情報を入力する。
なお、図１９に示す付属情報編集画面１９０４のイメージは、一例に過ぎない。表示制御部１５ａは、付属情報を入力可能な付属情報編集画面１９０４を表示させるようになっていればよい。
【００７０】
ＰＣ２の受付部は、ユーザによって入力された付属情報を受け付ける。そして、ＰＣ２の送信部は、付属情報を、ソース情報管理装置１ａに送信する。ソース情報管理装置１ａの付属情報受付部１１３は、当該付属情報を受け付ける。
そして、ソース情報管理装置１ａでは、上述のとおり、付属情報追加部１７が、ソースバージョン定義情報に、付属情報を付与する。
【００７１】
ソース情報管理装置１ａは、ソースバージョン定義情報において、ソースバージョンに定義されている付属情報を、表示させることもできる。
具体的には、例えば、ユーザは、ＰＣ２の入力装置を操作して、付属情報表示指示を入力し、ＰＣ２が、当該付属情報表示指示をソース情報管理装置１ａに送信する。ソース情報管理装置１ａの受付部１１ａは、ＰＣ２から送信された付属情報表示指示を受け付け、当該付属情報表示指示を、情報取得部１４に出力する。
情報取得部１４は、付属情報表示指示に基づき、ソースバージョン定義情報記憶部１６２から、付属情報を取得し、表示制御部１５ａに出力する。表示制御部１５ａは、情報取得部１４が取得した付属情報を、ＰＣ２の表示部に表示させる。
【００７２】
表示制御部１５ａは、例えば、付属情報を、ソースバージョン定義情報表示画面上で表示させることもできる。
図２０は、実施の形態１において、ソース情報管理装置１ａの表示制御部１５ａが、付属情報を表示させたソースバージョン定義情報表示画面２００１の一例のイメージを示す図である。
例えば、図２０に示すように、ユーザが、ソースバージョン定義情報表示画面２００１にて表示されているソースバージョンの上にマウスカーソルを移動させると、表示制御部１５ａが、マウスカーソルが移動されたソースバージョンの付属情報を、ツールチップで表示するようにすることもできる（図２０の２００２参照）。
【００７３】
ユーザがＰＣ２を操作して差分分析指示情報を入力し、ＰＣ２がソース情報管理装置１ａに差分分析指示情報を送信するまでの具体的な流れについて、説明する。
なお、以下の説明では、一例として、ユーザは、ＰＣ２から、ソースバージョン「Ｖｅｒ．２．０．０．２０１５１」〜「Ｖｅｒ．２．０．２．０」までのバージョンに付与された付属情報を比較するための差分分析指示情報を入力するものとする。
まず、ユーザは、入力装置を操作して、ＰＣ２の表示部に、ソースバージョン定義情報を表示したソースバージョン定義情報表示画面を表示させる。ユーザがＰＣ２を操作して、ソースバージョン定義情報表示画面を表示させるまでの具体的な流れは説明済みであるため、詳細な説明については省略する。
例えば、ソースバージョン表示制御部１５１は、図１９に示すようなソースバージョン定義情報表示画面１９０１を表示させる。
図１９に示すように、ソースバージョン表示制御部１５１は、ソースバージョン定義情報表示画面１９０１において、差分分析ボタン１９０３を表示させる。
【００７４】
図１９に示すようなソースバージョン定義情報表示画面１９０１が表示されると、ユーザは、ＰＣ２から、入力装置を操作して、差分分析指示入力画面を呼び出す。具体的には、ユーザは、差分分析ボタン１９０３をクリック等して、差分分析指示入力画面呼出指示を入力する。
ＰＣ２の受付部は、差分分析指示入力画面呼出指示を受け付け、ＰＣ２の送信部は、当該差分分析指示入力画面呼出指示を、ソース情報管理装置１ａに送信する。ソース情報管理装置１ａの受付部１１ａは、差分分析指示入力画面呼出指示を受け付け、表示制御部１５ａに当該差分分析指示入力画面呼出指示を受け付けた旨の情報を出力する。表示制御部１５ａは、ＰＣ２の表示部に、差分分析指示入力画面を表示させる。
【００７５】
図２１は、実施の形態１において、ソース情報管理装置１ａの表示制御部１５ａが、差分分析指示入力画面２１０１を表示させるまでの流れのイメージを示す図である。
表示制御部１５ａは、差分分析指示入力画面２１０１を、ソースバージョン定義情報表示画面１９０１に重畳表示してもよいし、ソースバージョン定義情報表示画面１９０１から切り替えて表示するようにしてもよい。図２１では、便宜上、表示制御部１５ａが、差分分析指示入力画面２１０１を表示させた場合の、差分分析指示入力画面２１０１の一例のイメージを、ソースバージョン定義情報表示画面１９０１に重ねて示すようにしている。
【００７６】
ユーザは、差分分析指示入力画面２１０１から、差分分析指示を入力する。具体的には、ユーザは、入力装置を操作して、比較対象ソースバージョンを入力する。図２１では、一例として、比較対象ソースバージョンは、複数の比較対象ソースバージョンのうち、一番古いバージョンと、一番新しいバージョンで指定されるものとしている。ユーザは、差分分析指示入力画面２１０１から、複数の比較対象ソースバージョンのうち、一番古いバージョンと、一番新しいバージョンを指定する。
図２１では、一番古いバージョンとして、「Ｖｅｒ．２．０．０．２０１５１」、一番新しいバージョンとして、「Ｖｅｒ．２．０．２．０」が指定されたものとしている。
ＰＣ２の受付部は、「Ｖｅｒ．２．０．０．２０１５１」および、「Ｖｅｒ．２．０．２．０」の情報を受け付け、差分分析指示情報としてソース情報管理装置１ａに送信する。なお、ここでは、一例として、ソースバージョン定義情報の内容は、図３に示したような内容であるものとする。
【００７７】
ソース情報管理装置１ａの差分分析指示受付部１１４は、「Ｖｅｒ．２．０．０．２０１５１」、および、「Ｖｅｒ．２．０．２．０」の情報を含む差分分析指示情報を受け付ける。
比較部１８は、「Ｖｅｒ．２．０．０．２０１５１」から「Ｖｅｒ．２．０．２．０」までのソースバージョンに付与されている付属情報を比較する。具体的には、比較部１８は、「Ｖｅｒ．２．０．０．２０１５１」、「Ｖｅｒ．２．０．０．２０１５２」、および、「Ｖｅｒ．２．０．２．０」に付与されている付属情報について、バージョンが１つ上がる毎の差分を抽出することになる。
【００７８】
なお、上述した、ユーザによる差分分析指示の入力方法は一例に過ぎない。例えば、ユーザは、ソースバージョン定義情報表示画面から直接、比較対象ソースバージョンを入力することもできる。
図２２は、実施の形態１において、ユーザが比較対象ソースバージョンを入力した場合のソースバージョン定義情報表示画面２２０１の一例のイメージを示す図である。
図２２では、ユーザは、「Ｖｅｒ．２．０．０．２０１５１」、「Ｖｅｒ．２．０．０．２０１５２」、および、「Ｖｅｒ．２．０．２．０」を比較対象ソースバージョンとして入力したものとしている。
ＰＣ２の受付部は、「Ｖｅｒ．２．０．０．２０１５１」、「Ｖｅｒ．２．０．０．２０１５２」、および、「Ｖｅｒ．２．０．２．０」の情報を受け付け、差分分析指示情報としてソース情報管理装置１ａに送信する。
ソース情報管理装置１ａの差分分析指示受付部１１４は、「Ｖｅｒ．２．０．０．２０１５１」、「Ｖｅｒ．２．０．０．２０１５２」、および、「Ｖｅｒ．２．０．２．０」の情報を含む差分分析指示情報を受け付ける。
【００７９】
この場合、例えば、ソース情報管理装置１ａの差分分析指示受付部１１４が、「Ｖｅｒ．２．０．０．２０１５１」、「Ｖｅｒ．２．０．０．２０１５２」、および、「Ｖｅｒ．２．０．２．０」を比較対象ソースバージョンとする差分分析指示情報を受け付けると、ソース情報管理装置１ａの表示制御部１５ａは、比較対象ソースバージョンにチェックマークを付与して表示させることもできる。また、表示制御部１５ａは、比較対象ソースバージョンを結ぶ線を太く表示させることもできる。なお、ここでは、一例として、表示制御部１５ａは、比較対象ソースバージョンを結ぶ線を太く表示させるものとしたが、これに限らず、例えば、表示制御部１５ａは、比較対象ソースバージョンを結ぶ線の色を変化させるようにすることもできる。
【００８０】
差分分析指示受付部１１４は、差分指示情報を受け付けると、当該差分指示情報を比較部１８に出力し、比較部１８は、差分指示情報に基づき、ソースバージョン定義情報において、比較対象ソースバージョン、に付与されている付属情報を比較する。
上述の例でいうと、比較部１８は、ソースバージョン定義情報において、「Ｖｅｒ．２．０．０．２０１５１」に付与されている付属情報と「Ｖｅｒ．２．０．０．２０１５２」に付与されている付属情報とを比較する。また、比較部１８は、「Ｖｅｒ．２．０．０．２０１５２」に付与されている付属情報と「Ｖｅｒ．２．０．２．０」に付与されている付属情報とを比較する。
比較部１８は、比較結果に関する情報を表示制御部１５ａに出力し、表示制御部１５ａは、当該比較結果に関する情報を、ＰＣ２の表示部に表示させる。
【００８１】
ここで、図２３は、実施の形態１において、表示制御部１５ａが比較部１８による付属情報の比較結果を表示させた画面の一例のイメージを示す図である。
図２３に示すように、表示制御部１５ａは、比較したソースバージョンの情報と、付属情報の差分の内容がわかるように、付属情報の比較結果を表示させる。
【００８２】
なお、上述のとおり、付属情報は、当該付属情報を付与されたソースバージョンについてユーザの覚書となるあらゆる情報を含む。そこで、例えば、ユーザは、部分マージバージョンについて、当該部分マージバージョンに対応するソースの項目のうち、当該部分マージバージョンに対応するソースをリリースする時点ではマージする項目に含めず、その後のバージョンアップ時にマージする項目に追加することにする項目の数（以下「マージ残件数」という。）を、付属情報として、部分マージバージョンに付与しておくこともできる。
【００８３】
図２４Ａ，図２４Ｂは、実施の形態１において、表示制御部１５ａが、付属情報として、マージ残件数を表示させた場合の、ソースバージョン定義情報表示画面の一例のイメージを示す図である。
なお、図２４Ａ，図２４Ｂでは、説明の簡単のため、マージ残件数が表示されている部分のみ図示するようにしている。
【００８４】
例えば、今、ソースバージョン定義情報において、「Ｖｅｒ．２．０．２．０」を親バージョン、「Ｖｅｒ．２．０．０．１００３３」を部分マージバージョン、「Ｖｅｒ．２．０．０．２０１５３」および「Ｖｅｒ．２．０．０．２０１８０」を全マージバージョンとして、これらを統合した「Ｖｅｒ．２．１．０．０」が定義されているとする。
ここで、ユーザは、「Ｖｅｒ．２．０．０．１００３３」について、部分マージする項目は５項目あるものの、当該５項目については、不具合等が発生している可能性があるため、当該「Ｖｅｒ．２．０．０．１００３３」のソースがリリースされるタイミングになっても、マージせず保留しておくことにしたとする。その場合、ユーザは、不具合等がなくなればマージする項目が５項目ある旨の情報を、付属情報として「Ｖｅｒ．２．０．０．１００３３」に付与しておくことができる。ソース情報管理装置１ａが、当該５項目の情報を付属情報として受け付け、ソースバージョン定義情報に付与する動作については、説明済みであるため、重複した説明は省略する。
例えば、「Ｖｅｒ．２．０．０．１００３３」に、付属情報として、マージを保留している項目が５項目ある旨の情報が付与された場合、ソース情報管理装置１ａのソースバージョン表示制御部１５１は、ソースバージョン定義情報表示画面を表示させる際、「Ｖｅｒ．２．０．０．１００３３」に、「５」を付与して表示させることができる（図２４Ａ参照）。
これにより、ユーザは、将来的に、「Ｖｅｒ．２．０．０．１００３３」から派生して作成されたソースバージョンを計画する際には、あわせてマージすべき項目が５項目残っているということを把握することができる。
【００８５】
その後、「Ｖｅｒ．２．１．０．０」をさらに派生させて「Ｖｅｒ．２．２．０．０」が計画された段階で、上記５項目をマージに含めることとした場合、ユーザは、「Ｖｅｒ．２．０．０．１００３３」に付与されていたマージ残件数を「０」としておく。
そうすると、ソース情報管理装置１ａのソースバージョン表示制御部１５１は、ソースバージョン定義情報表示画面を表示させる際、「Ｖｅｒ．２．０．０．１００３３」に、「０」を付与して表示させるようになる（図２４Ｂ参照）。
これにより、ユーザは、マージ残件数がなくなったことを把握することができる。
【００８６】
付属情報として、マージ残件数に加え、マージをせず保留している項目の内容に関する情報が付与されている場合、ソースバージョン表示制御部１５１は、当該情報を表示することもできる。
具体的には、例えば、図２４に示すようなソースバージョン定義情報表示画面から、ユーザがマージ残件数「５」をクリックして、当該マージ残件数「５」の内容の表示指示を入力したとする。ソース情報管理装置１ａの受付部１１ａは、当該表示指示を受け付け、ソースバージョン表示制御部１５１は、マージ残件数「５」の内容を示す付属情報を表示させる（図２５の２５０１参照）。なお、表示制御部１５ａは、マージ残件数「５」の内容を示す付属情報を、ソースバージョン定義情報表示画面に重畳表示してもよいし、ソースバージョン定義情報表示画面から切り替えて表示するようにしてもよい。図２５では、便宜上、マージ残件数「５」の内容を示す付属情報を、ソースバージョン定義情報表示画面に重ねて示すようにしている。
【００８７】
このように、実施の形態１において、ソース情報管理装置１ａは、ソースバージョン定義情報においてソースバージョンに付属情報を付与して当該ソースバージョン定義情報を記憶させておくこともできる。さらに、ソース情報管理装置１は、複数のソースバージョン間で、付与された付属情報の比較を行い、差分を取るようにすることもできる。
【００８８】
また、以上の実施の形態１において、ソース情報管理装置１，１ａは、ソースバージョン定義情報表示画面にてソースバージョン定義情報を表示させる際、表示させるソースバージョンの絞り込みを行うようにすることもできる。
具体的には、例えば、ソースバージョン表示制御部１５１は、ソースバージョン定義情報表示画面を表示させる際、表示させるソースバージョンの絞り込みを設定する表示量調整画面を呼び出す指示を入力するための表示量調整ボタンを表示させるようにする。
【００８９】
図２６は、実施の形態１において、ソースバージョン表示制御部１５１が、表示量調整ボタン２６０２を表示させた、ソースバージョン定義情報表示画面２６０１の一例のイメージを示す図である。
例えば、ユーザは、入力装置を操作して表示量調整ボタン２６０２をクリックすることで表示量調整画面２６０３を表示させ、当該表示量調整画面２６０３から、表示させるソースバージョンを指定する。なお、表示量調整画面２６０３は、ソース情報管理装置１，１ａにおいて、受付部１１，１１ａが、表示量調整ボタン２６０２がクリック等された旨の情報をＰＣ２から受け付けた場合に、表示制御部１５，１５ａが表示させる。表示制御部１５，１５ａは、表示量調整画面２６０３を、ソースバージョン定義情報表示画面２６０１に重畳表示してもよいし、ソースバージョン定義情報表示画面２６０１から切り替えて表示するようにしてもよい。図２６では、便宜上、表示量調整画面２６０３を、ソースバージョン定義情報表示画面２６０１に重ねて示すようにしている。
【００９０】
図２６では、ユーザは、表示量調整画面２６０３から、「Ｖｅｒ．２．０．０．０」、「Ｖｅｒ．２．０．２．０」、および、「Ｖｅｒ．２．１．０．０」を、ソースバージョン定義情報表示画面２６０１にて表示させるソースバージョンに設定したものとしている。以下の説明において、ユーザによって設定された、ソースバージョン定義情報表示画面２６０１にて表示させるソースバージョンを、「表示対象ソースバージョン」ともいうものとする。
ＰＣ２の受付部は、ユーザが設定した表示対象ソースバージョンの情報を受け付け、ＰＣ２の送信部が、当該表示対象ソースバージョンの情報を、ソース情報管理装置１，１ａに送信する。ソース情報管理装置１，１ａの受付部１１，１１ａは、表示対象ソースバージョンの情報を受け付け、当該表示対象ソースバージョンの情報を、ソースバージョン表示制御部１５１に出力する。
【００９１】
ソースバージョン表示制御部１５１は、ソースバージョン定義情報表示画面２６０１において、表示対象ソースバージョンのみを表示させるよう、表示させるソースバージョンの絞り込みを行う。
【００９２】
図２７は、ソースバージョン表示制御部１５１が、図２６に示した表示量調整画面２６０３にて設定された表示対象ソースバージョンのみを表示させるようにした、ソースバージョン定義情報表示画面２７０１の一例のイメージを示す図である。
【００９３】
図２６を用いた説明では、表示量調整画面２６０３は、表示対象ソースバージョンの指定を受け付けるための画面とし、ユーザは、表示量調整画面２６０３から、表示対象ソースバージョンを指定するものとしたが、これは一例に過ぎない。
例えば、表示量調整画面は、表示対象ソースバージョンの範囲の指定を受け付けるための画面とし、ユーザは、表示量調整画面から、表示対象ソースバージョンとするソースバージョンの範囲を指定するようにしてもよい。
【００９４】
図２８は、実施の形態１において、ソースバージョン表示制御部１５１が、表示量調整ボタン２６０２を表示させたソースバージョン定義情報表示画面２６０１から呼び出された表示量調整画面２８０１の一例のイメージを示す図である。図２８では、便宜上、表示量調整画面２８０１を、ソースバージョン定義情報表示画面２６０１に重ねて示すようにしている。
表示量調整画面２８０１は、受付部１１，１１ａが、表示量調整ボタン２６０２がクリック等された旨の情報をＰＣ２から受け付けた場合に、表示制御部１５，１５ａが表示させる。
図２８では、ユーザは、表示量調整画面２８０１から、「Ｖｅｒ．２．０．０．０」および「Ｖｅｒ．２．０．０．２０１８０」を設定したものとしている。この場合、「Ｖｅｒ．２．０．０．０」から「Ｖｅｒ．２．０．０．２０１８０」までの範囲のソースバージョンが、表示対象ソースバージョンとして指定されたことになる。
【００９５】
図２９は、ソースバージョン表示制御部１５１が、図２８に示した表示量調整画面２８０１にて設定された範囲の表示対象ソースバージョンのみを表示させるようにした、ソースバージョン定義情報表示画面２９０１の一例のイメージを示す図である。
【００９６】
このように、実施の形態１において、ソース情報管理装置１，１ａは、ソースバージョン定義情報表示画面にてソースバージョン定義情報を表示させる際、表示させるソースバージョンの絞り込みを行うようにすることもできる。
【００９７】
また、以上の実施の形態１において、ソース情報管理装置１，１ａは、ソースバージョン定義情報記憶部１６２に記憶されているソースバージョン定義情報を、外部の装置、または、媒体等に出力することもできる。
具体的には、例えば、ソースバージョン表示制御部１５１は、ソースバージョン定義情報表示画面を表示させる際、遷移図出力ボタンを表示させるようにする（図３０の３００１参照）。
ユーザは、例えば、入力装置を操作して、遷移図出力ボタン３００１をクリックする。遷移図出力ボタン３００１がクリックされることで、ＰＣ２の受付部は、ソースバージョン定義情報の出力指示を受け付ける。ＰＣ２の送信部は、受付部が受け付けた、ソースバージョン定義情報の出力指示をソース情報管理装置１，１ａに送信する。
ソース情報管理装置１，１ａの受付部１１，１１ａは、ＰＣ２から送信されたソースバージョン定義情報の出力指示を受け付け、受け付けた当該出力指示を、出力制御部（図示省略）に出力する。出力制御部は、情報取得部１４に、ソースバージョン定義情報を取得させ、情報取得部１４が取得したソースバージョン定義情報を、外部の装置、または、媒体等に出力する。
【００９８】
また、以上の実施の形態１において、ソース情報管理装置１，１ａのソースバージョン表示制御部１５１は、ソースバージョン定義情報表示画面にてソースバージョン定義情報を表示する際、コマンド実行済みフラグが付与されているソースバージョンについては、当該コマンド実行済みフラグが付与されていることがわかるように表示することができる。例えば、ソースバージョン表示制御部１５１は、コマンド実行済みフラグが付与されているソースバージョンには、チェックマークを付与して、当該ソースバージョンを表示するようにする。
【００９９】
また、以上の実施の形態１において、ソース情報管理装置１ａの付属情報表示制御部１５２は、例えば、ソースバージョン表示制御部１５１がソースバージョン定義情報表示画面にてソースバージョン定義情報を表示する際、新たにソースを作成する際に必要となる変換用ファイルに関する情報を、ソースバージョンに対応付けて表示させることもできる。
上述したとおり、ソース情報管理装置１ａにおいて、ブランチ作成実行部１３がブランチ作成コマンドを実行すると、ソース管理情報において、新たに作成するソースのソースバージョンで、親ソースから派生させたソースが作成される。この際、新たに作成されるソースは、親ソースの内容として作成されるため、ユーザが、ＰＣ２より、当該新たに作成されたソースに対して、バージョンアップすべき内容を反映する作業を行う。当該作業において、ユーザは、上記変換用ファイルを実行する。そのため、ユーザは、ソースのバージョンアップの計画があり、ソースバージョン定義情報においてソースバージョンを追加した際に、当該ソースバージョンがリリースされ、ソースを作成する必要が生じた場合に使用する上記変換用ファイルを、付属情報として当該ソースバージョンに付与しておく。
付属情報表示制御部１５２が、ソースバージョン定義情報表示画面にて変換用ファイルに関する情報を表示させることで、計画していたソースバージョンがリリースされた際に、ユーザは、新たなソース作成のために必要な変換用ファイルを把握することができる。
【０１００】
また、以上の実施の形態１では、図１および図１８に示すように、ソース情報管理装置１，１ａが表示制御部１５，１５ａを備えるものとした。しかし、これに限らず、表示制御部１５，１５ａは、ＰＣ２に備えられるものとし、ＰＣ２に備えられた表示制御部１５，１５ａが、ＰＣ２の受付部が受け付けた各種情報、または、ソース情報管理装置１，１ａの情報取得部１４が取得したソースバージョン定義情報に基づき、ＰＣ２の表示部に表示させる情報の表示制御を行うようにしてもよい。
【０１０１】
また、以上の実施の形態１では、ソース情報管理装置１，１ａは、施設監視システムで用いられるものとしたが、これは一例に過ぎない。
ソース情報管理装置１は、ソースのバージョンを派生させてプログラム開発を行う、あらゆるシステムにおいて用いられることができる。
【０１０２】
以上のように、実施の形態１によれば、ソース情報管理装置１，１ａは、１つ以上のソースが当該ソースのソースバージョンとともに１つ以上の階層を有する階層構造で管理されたソース管理情報に基づいて作成された、１つ以上のソースバージョンが１つ以上の階層を有する階層構造で定義されたソースバージョン定義情報、で定義されている１つ以上のソースバージョンのうち、下位層に新たなソースバージョンを作成する対象となる１つ以上の対象ソースバージョン、を指定した対象バージョン指定情報を受け付けるバージョン指定情報受付部１１１と、ソースバージョン定義情報において、バージョン指定情報受付部１１１が受け付けた１つ以上の対象ソースバージョンの下位層に、新たなソースバージョンを追加するバージョン情報追加部１２と、ソース管理情報において、１つ以上の対象ソースバージョンのソースの下位層に、新たなソースバージョンのソースを追加させるためのブランチ作成コマンドを実行させるコマンド実行指示を受け付ける実行指示受付部１１２と、実行指示受付部１１２がコマンド実行指示を受け付けた場合、ブランチ作成コマンドを実行するブランチ作成実行部１３を備えるように構成した。そのため、プログラム開発において、計画段階である、将来的に発生する予定のソースのバージョンに関する情報を管理することができる。
【０１０３】
また、実施の形態１によれば、ソース情報管理装置１，１ａは、ソースバージョン定義情報を階層構造にて表示した階層図を表示させるソースバージョン表示制御部１５１を備えるように構成した。そのため、ユーザは、複数のバージョンが統合されて１つのバージョンが作成された場合であっても、当該複数のバージョンから統合されていることを視覚的に把握することができる。
【０１０４】
なお、本願発明はその発明の範囲内において、実施の形態の任意の構成要素の変形、もしくは実施の形態の任意の構成要素の省略が可能である。
【符号の説明】
【０１０５】
１，１ａ  ソース情報管理装置
２  ＰＣ
１１，１１ａ  受付部
１１１  バージョン指定情報受付部
１１２  実行指示受付部
１１３  付属情報受付部
１１４  差分分析指示受付部
１２  バージョン情報追加部
１３  ブランチ作成実行部
１４  情報取得部
１５，１５ａ  表示制御部
１５１  ソースバージョン表示制御部
１５２  付属情報表示制御部
１６  記憶部
１６１  ソース管理情報記憶部
１６２  ソースバージョン定義情報記憶部
１７  付属情報追加部
１８  比較部
１００  ソースバージョン定義情報作成部
【図１】
2020160520.tif 000003
【図２】
2020160520.tif 000004
【図３】
2020160520.tif 000005
【図４】
2020160520.tif 000006
【図５】
2020160520.tif 000007
【図６】
2020160520.tif 000008
【図７】
2020160520.tif 000009
【図８】
2020160520.tif 000010
【図９】
2020160520.tif 000011
【図１０】
2020160520.tif 000012
【図１１】
2020160520.tif 000013
【図１２】
2020160520.tif 000014
【図１３】
2020160520.tif 000015
【図１４】
2020160520.tif 000016
【図１５】
2020160520.tif 000017
【図１６】
2020160520.tif 000018
【図１７】
2020160520.tif 000019
【図１８】
2020160520.tif 000020
【図１９】
2020160520.tif 000021
【図２０】
2020160520.tif 000022
【図２１】
2020160520.tif 000023
【図２２】
2020160520.tif 000024
【図２３】
2020160520.tif 000025
【図２４】
2020160520.tif 000026
【図２５】
2020160520.tif 000027
【図２６】
2020160520.tif 000028
【図２７】
2020160520.tif 000029
【図２８】
2020160520.tif 000030
【図２９】
2020160520.tif 000031
【図３０】
2020160520.tif 000032