(57)【要約】 【課題】バージョン管理ソフトウェアを利用できるソフトウェア開発環境がない開発者に対しても、作業負担を増大させることなく、ソースコードについての履歴情報を容易に提供できるようにする。【解決手段】実施形態の情報処理装置は、バージョン管理ソフトウェアにソースコードのファイルを登録する指示を入力する入力受付手段と、前記入力受付手段により入力された指示に応じて、前記ソースコードに対して、前記ソースコードの開発に関係する情報を挿入する挿入手段と、前記挿入手段により前記情報が挿入されたソースコードのファイルを前記バージョン管理ソフトウェアに登録する登録手段とを具備する。【選択図】図１
2014056355.tif 000002
【特許請求の範囲】
【請求項１】
バージョン管理ソフトウェアにソースコードのファイルを登録する指示を入力する入力受付手段と、
前記入力受付手段により入力された指示に応じて、前記ソースコードに対して、前記ソースコードの開発に関係する情報を挿入する挿入手段と、
前記挿入手段により前記情報が挿入されたソースコードのファイルを前記バージョン管理ソフトウェアに登録する登録手段と
を具備する情報処理装置。
【請求項２】
前記挿入手段により前記ソースコードに挿入される前記情報を表示装置に表示させるソースコード表示手段をさらに具備する請求項１記載の情報処理装置。
【請求項３】
前記ソースコードに前記情報を挿入するか否かを設定する設定画面を表示装置に表示させる設定画面表示手段をさらに具備し、
前記挿入手段は、前記設定画面において前記情報を挿入する設定がされた場合に、前記ソースコードに前記情報を挿入する請求項１記載の情報処理装置。
【請求項４】
コンピュータを、
バージョン管理ソフトウェアにソースコードのファイルを登録する指示を入力する入力受付手段と、
前記入力受付手段により入力された指示に応じて、前記ソースコードに対して、前記ソースコードの開発に関係する情報を挿入する挿入手段と、
前記挿入手段により前記情報が挿入されたソースコードのファイルを前記バージョン管理ソフトウェアに登録する登録手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、バージョン管理ソフトウェアを実行する情報処理装置、同装置で実行されるプログラムに関する。
【背景技術】
【０００２】
一般に、複数の開発者によってソフトウェア開発をする場合、ソースコードを管理するためにバージョン管理ソフトウェアが利用されている。バージョン管理ソフトウェアでは、ソースコードのファイルを管理する他、ファイルの作成日時、更新日時、変更点、作成者などの履歴情報を管理する。
【０００３】
各開発者は、作成、変更したソースコードのファイルをバージョン管理ソフトウェアへ登録、すなわちコミット（あるいはチェックイン）することで、ファイルの作成日時や更新日時などの情報も登録することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１８６３７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
開発者がバージョン管理ソフトウェアを利用できるソフトウェア開発環境にあれば、何度も変更を加えたファイルであっても、バージョン管理ソフトウェアに登録された履歴情報を参照することにより、過去の状態や変更内容を確認したり、変更者に問い合わせしたりすることが容易となる。
【０００６】
一方、バージョン管理ソフトウェアを利用できるソフトウェア開発環境がない開発者に、ソースコードの開発を依頼するような場合には、ソースコードのファイルを渡すだけでは、過去の状態や変更内容、変更者などを知り得ないため開発に支障をきたしてしまう。こうした場合、ソースコードのファイルだけでなく、過去の状態や変更内容、変更者などの履歴情報を別に用意して開発者に提供するといった作業が発生する場合がある。
【０００７】
本発明が解決しようとする課題は、バージョン管理ソフトウェアを利用できるソフトウェア開発環境がない開発者に対しても、作業負担を増大させることなく、ソースコードについての履歴情報を容易に提供することができる情報処理装置、プログラムを提供することである。
【課題を解決するための手段】
【０００８】
実施形態によれば、情報処理装置は、バージョン管理ソフトウェアにソースコードのファイルを登録する指示を入力する入力受付手段と、前記入力受付手段により入力された指示に応じて、前記ソースコードに対して、前記ソースコードの開発に関係する情報を挿入する挿入手段と、前記挿入手段により前記情報が挿入されたソースコードのファイルを前記バージョン管理ソフトウェアに登録する登録手段とを具備する。
【図面の簡単な説明】
【０００９】
【図１】本実施形態におけるソフトウェア開発をするシステムの構成を示すブロック図。
【図２】本実施形態における統合開発環境プログラムの実行時のユーザインタフェースの表示例を示す図。
【図３】本実施形態におけるパッケージエクスプローラビュー上でマウスを右クリックすると表示される右クリックメニューの一例を示す図。
【図４】本実施形態における右クリックメニューで「Ｉｍｐｏｒｔ」を選択したときに表示されるリポジトリ設定ダイアログの一例を示す図。
【図５】本実施形態におけるパッケージエクスプローラビューに表示される画面例示す図。
【図６】本実施形態におけるコミットダイアログの表示例を示す図。
【図７】本実施形態におけるコメント挿入テーブルにおいて設定されるデータの一例を示す図。
【図８】本実施形態におけるパーソナルコンピュータの統合開発環境プログラムに基づく動作について示すフローチャート。
【図９】本実施形態におけるソースコードの一例を示す図。
【図１０】本実施形態におけるコメント挿入後のソースコードの一例を示す図。
【発明を実施するための形態】
【００１０】
以下、実施形態について、図面を参照して説明する。  
図１は、実施形態におけるソフトウェア開発をするシステムの構成を示すブロック図である。図１に示すように、システムは、リポジトリサーバ１０がネットワーク２を介して、ソフトウェアの開発者が使用する複数のパーソナルコンピュータ（情報処理装置）２０（２０−１，…，２０−ｎ）と接続されている。
【００１１】
リポジトリサーバ１０は、パーソナルコンピュータ２０において開発されるソフトウェア（ソースコード）を管理するもので、複数のパーソナルコンピュータ２０−１，…，２０−ｎにより登録されるソースコードが記録されたファイル（以下、ソースファイル）の他、変更履歴情報等を管理する。
【００１２】
リポジトリサーバ１０は、ＣＰＵ１１、ＲＡＭ１２、補助記憶装置１３、時計１４、及びネットワークインタフェース（Ｉ／Ｆ）１５を含む。  
ＣＰＵ１１は、ＲＡＭ１２に記憶されたＯＳ（Operating System）１２ａ、バージョン管理ソフトウェア１２ｂをもとに各部を制御することにより、ソースファイルの他、ソースコードの開発に関係する情報（変更履歴情報等）を管理する。ＣＰＵ１１は、バージョン管理ソフトウェア１２ｂに基づいてリポジトリ１６を作成して、パーソナルコンピュータ２０−１，…，２０−ｎにより作成されるソースファイルや変更履歴情報等をリポジトリ１６に登録することで管理する。
【００１３】
ＲＡＭ１２は、補助記憶装置１３からロードされたＯＳ１２ａやバージョン管理ソフトウェア１２ｂ等のプログラムや各種データが記録される。
【００１４】
補助記憶装置１３は、各種プログラムやデータを記憶する。補助記憶装置１３では、ＣＰＵ１１（バージョン管理ソフトウェア１２ｂ）により作成されたリポジトリ１６が実現される。リポジトリ１６では、パーソナルコンピュータ２０−１，…，２０−ｎにより作成されるソースファイル１６ａやソースコードの開発に関係する変更履歴情報１６ｂ等が登録される。
【００１５】
時計１４は、年月日時刻のデータを生成する。  
ネットワークＩ／Ｆ１５は、ＣＰＵ１１の制御のもとで、ネットワーク２を介したパーソナルコンピュータ２０との通信を制御する。
【００１６】
パーソナルコンピュータ２０−１（…，２０−ｎ）は、ＣＰＵ２１、ＲＡＭ２２、補助記憶装置２３、時計２４、ネットワークインタフェース（Ｉ／Ｆ）２５、キーボード２６、マウス２７、及び表示装置２８を含む。  
ＣＰＵ２１は、ＲＡＭ２２に記憶されたＯＳ２２ａ、バージョン管理ソフトウェア２２ｂ、統合開発環境プログラム２２ｃをもとに各部を制御する。ＣＰＵ２１は、統合開発環境プログラム２２ｃにより、ソースコードの編集（作成／変更）等の処理を実行する。また、ＣＰＵ２１は、バージョン管理ソフトウェア２２ｂにより、作成／変更されたソースファイルや変更履歴情報等のリポジトリサーバ１０（リポジトリ１６）への登録、リポジトリサーバ１０（リポジトリ１６）からのソースファイルや変更履歴情報等を取得するための処理を実行する。
【００１７】
ＲＡＭ２２は、補助記憶装置２３からロードされたＯＳ２２ａ、バージョン管理ソフトウェア２２ｂ、統合開発環境プログラム２２ｃ等のプログラムや各種データが記録される。
【００１８】
補助記憶装置２３は、各種プログラムやデータを記憶する。補助記憶装置２３では、統合開発環境プログラム２２ｃの処理により作成／変更されるソースファイル２３ａ、ソースファイル２３ａの変更に伴って作成される変更履歴情報のソースコードへの挿入を管理するためのコメント挿入テーブル２３ｂが記憶される。コメント挿入テーブル２３ｂは、ＣＳＶ（Comma Separated Value）形式のテキストファイルや、データベースなどテーブルデータを保存できるデータファイルとすることができる。コメント挿入テーブル２３ｂの詳細については後述する（図７参照）。また、補助記憶装置２３には、パーソナルコンピュータ２０−１を使用するユーザ（開発者）を特定する氏名などを示すユーザ名データ２３ｃ、ユーザ（開発者）の電子メールアドレスや電話番号、所属部署名などを含むことができる連絡先データ２３ｄが記憶される。ユーザ名データ２３ｃと連絡先データ２３ｄは、テキストデータによるファイル、あるいはＯＳ２２ａにより管理されているデータであっても良い。
【００１９】
時計２４は、年月日時刻のデータを生成する。  
ネットワークインタフェース（Ｉ／Ｆ）２５は、ＣＰＵ２１の制御のもとで、ネットワーク２を介したリポジトリサーバ１０との通信を制御する。
【００２０】
キーボード２６及びマウス２７は、ソースコードの開発者等により操作される入力デバイスである。
【００２１】
表示装置２８は、ＬＣＤ（Liquid Crystal Display）等により構成され、ＣＰＵ２１によるプログラムの実行に伴って、ＣＰＵ２１により各種画面が表示される。
【００２２】
図２〜図６は、本実施形態におけるプログラム（統合開発環境プログラム２２ｃ）により表示される画面（ユーザインタフェース）の一例を示す図である。  
図２は、統合開発環境プログラム２２ｃの実行時のユーザインタフェースの表示例を示す図である。統合開発環境プログラム２２ｃは、パーソナルコンピュータ２０−１においてプログラムのソースコードを開発をするためのプログラムであり、実行時に例えばメニューバー３０、パッケージエクスプローラビュー３１、エディタエリア３２、ログ表示エリア３３を有するユーザインタフェースを提供する。
【００２３】
メニューバー３０には、統合開発環境プログラム２２ｃに設けられた各種機能の実行を指示するためのメニューが表示されるもので、例えば一般的な統合開発環境において使用される「Ｆｉｌｅ」「Ｅｄｉｔ」「Ｓｏｕｒｃｅ」などのメニュー項目が用意されている。
【００２４】
パッケージエクスプローラビュー３１は、例えば補助記憶装置２３などに記憶されている、ソースファイルなどのリソースのフォルダ構成を表示する。開発者は、パッケージエクスプローラビュー３１に表示されたリソース（ファイル）を選択することで、ファイルに対する処理（ソースコードの作成／変更など）を実行することができる。
【００２５】
エディタエリア３２は、例えばパッケージエクスプローラビュー３１において選択されたファイルの編集画面を表示するエリアである。例えばパッケージエクスプローラビュー３１においてソースファイルが選択されると、テキストエディタによるソースファイル（テキストデータ）を編集（作成／変更）する画面を表示する。
【００２６】
ログ表示エリア３３は、ソースファイルのコンパイル時に発生したエラーを表示するなど、処理の履歴を表示するエリア（ビュー）である。
【００２７】
図３は、本実施形態におけるパッケージエクスプローラビュー３１上でマウス２７を右クリックすると表示される右クリックメニュー４０の一例を示す図である。  
右クリックメニュー４０には、例えば「Ｎｅｗ」４１、「Ｉｍｐｏｒｔ」４２、「Ｅｘｐｏｒｔ」４３、「Ｒｅｆｒｅｓｈ」４４のメニュー項目が含まれている。例えば、「Ｎｅｗ」４１を選択することで新規ファイルを作成することができる。「Ｉｍｐｏｒｔ」４２を選択することでリポジトリの設定、すなわちリポジトリサーバ１０に登録された編集の対象とするソースファイルの登録場所を指定することができる。「Ｅｘｐｏｒｔ」４３を選択することで開発者が作成したファイル（ソースファイル）をリポジトリへ保存することができる。「Ｒｅｆｒｅｓｈ」４４を選択することでリポジトリに登録された最新のファイルや情報を取得することができる。
【００２８】
図４は、本実施形態における右クリックメニュー４０で「Ｉｍｐｏｒｔ」４２を選択したときに表示されるリポジトリ設定ダイアログの一例を示す図である。  
リポジトリ設定ダイアログでは、リポジトリ１６のソースファイルが登録された場所（アドレス）を示すロケーションの入力フォーム５０、設定ボタン５１、取消ボタン５２が設けられている。開発者は、リポジトリにおける場所を入力フォーム５０に入力し、設定ボタン５１を押下することでリポジトリを設定、すなわち変更対象とするソースファイル（ソースコード）が登録されている場所を指定することができる。
【００２９】
図５は、本実施形態におけるパッケージエクスプローラビュー３１に表示される画面例示す図である。図５には、図４のリポジトリ設定ダイアログで設定したリポジトリのロケーション６０、リポジトリ１６のロケーション６０が示す場所に保存されていたファイル「Ｗｏｒｌｄ．ｊａｖａ（登録商標）」６４及び「Ｂｙｅ．ｊａｖａ」６５、パーソナルコンピュータ２０−１の補助記憶装置２３にのみ保存されている開発者が統合開発環境プログラム２２ｃが持つエディタの機能により編集したファイル「Ｈｅｌｌｏ．ｊａｖａ」６３が表示されている。
【００３０】
ファイル「Ｗｏｒｌｄ．ｊａｖａ」６４と「Ｂｙｅ．ｊａｖａ」６５は、例えばパーソナルコンピュータ２０−１とは異なる他のパーソナルコンピュータ（開発者）において作成されて、リポジトリサーバ１０にコミットされたソースファイルである。
【００３１】
パッケージエクスプローラビュー３１では、コミットされていない（同期されていない）ファイル（例えば「Ｈｅｌｌｏ．ｊａｖａ」６３）と、リポジトリサーバ１０から呼び出されたファイル（「Ｗｏｒｌｄ．ｊａｖａ」６４、「Ｂｙｅ．ｊａｖａ」６５）とが識別可能となるように表示される。
【００３２】
また、パッケージエクスプローラビュー３１では、ロケーション６０が表示された位置でマウス２７を右クリックすることで、コミットメニュー６１が表示される。コミットメニュー６１の押下によって、バージョン管理ソフトウェア（リポジトリサーバ１０）へのソースファイル及び変更履歴情報の登録を指示することができる。
【００３３】
図６は、本実施形態におけるコミットダイアログ７０の表示例を示す図である。コミットダイアログ７０は、コミットメニュー６１の押下により、ソースファイル２３ａのリポジトリサーバ１０（リポジトリ１６）への登録（コミット）が指示された場合に、統合開発環境プログラム２２ｃにより表示される。
【００３４】
コミットダイアログ７０には、コミットコメントの編集フォーム７１、バージョンコントロールビュー７２、変更履歴ビュー７３、実行ボタン７４、取消ボタン７５が含まれている。
【００３５】
コミットコメントの編集フォーム７１では、リポジトリサーバ１０に登録するソースファイルについてのコメント（テキスト）を作成／編集することができる。本実施形態では、コミットコメントの編集フォーム７１において作成されたコメントは、リポジトリサーバ１０（リポジトリ１６）に登録されるだけでなく、リポジトリサーバ１０への登録対象とするソースファイル２３ａのソースコードに対して挿入することができる。
【００３６】
バージョンコントロールビュー７２では、コメント挿入テーブル２３ｂを参照して、リポジトリサーバ１０への登録の対象となるリソース（ソースファイル）についての情報が表示される。本実施形態におけるバージョンコントロールビュー７２では、ＣＰＵ２１は、登録の対象となり得るリソース（ソースファイル）のファイル名、それぞれの現在のステータス、及びソースファイルへのコメント挿入の有無を設定するためのチェックボックス７２ａを表示させる（設定画面表示手段）。
【００３７】
ステータスの「未管理」は、ソースファイル「Ｈｅｌｌｏ．ｊａｖａ」がパーソナルコンピュータ２０−１のみに存在し、リポジトリサーバ１０に登録されていない（リポジトリにより管理されていない）ことを示し、「変更」は、ソースファイル「Ｗｏｒｌｄ．ｊａｖａ」がリポジトリサーバ１０から呼び出され、パーソナルコンピュータ２０−１において変更されたことを示している。なお、リポジトリサーバ１０から呼び出されソースファイル「Ｂｙｅ．ｊａｖａ」については、変更されていないため登録（コミット）の対象となっていない。
【００３８】
変更履歴ビュー７３には、バージョンコントロールビュー７２のチェックボックス７２ａにおいて、コメント挿入ありが設定されているソースファイルに挿入される内容が表示される。本実施形態では、例えばソースファイルの先頭行に挿入されるものとし、例えばコメント記号７３ａ、日付挿入位置７３ｂ、開発者（ユーザ）の氏名と連絡先（電子メールアドレス）７３ｃ、コミットコメントの編集フォーム７１において作成されたコメント７３ｄが含まれている。
【００３９】
なお、バージョンコントロールビュー７２において、複数のソースファイルに対して、コメント挿入有りが設定されている場合には、それぞれのソースファイルについての変更履歴ビュー７３を表示し、それぞれに挿入する内容を表示させることができる。この場合、複数のソースファイルに共通して挿入する内容（例えば、日付、開発者（ユーザ）の氏名と連絡先）と、ソースファイル毎に異なる内容（例えば、コメント）とを、区分して表示するようにしても良い。
【００４０】
図７は、本実施形態におけるコメント挿入テーブル２３ｂにおいて設定されるデータの一例を示す図である。  
図７に示すように、本実施形態におけるコメント挿入テーブル２３ｂは、リソース、ステータス、コメント挿入の有無をそれぞれを示すテーブルデータとする。  
統合開発環境プログラム２２ｃは、例えばバージョン管理ソフトウェア２２ｂが提供する機能を使って、リソースとするソースファイル、ステータスの情報を取得する。コメント挿入の有無については、例えばリポジトリサーバ１０から呼び出して変更したソースファイルについては自動でコメント挿入ありを示す「Ｙ」を設定し、変更していないソースファイルについてはコメント挿入なしを示す「Ｎ」を設定する。また、図６に示すコミットダイアログ７０のバージョンコントロールビュー７２において、開発者の操作によってチェックボックス７２ａにチェックを追加、あるいはチェックが解除された場合に、チェックの変更に応じてコメント挿入テーブル２３ｂを更新する。
【００４１】
次に、本実施形態におけるパーソナルコンピュータ２０−１の統合開発環境プログラム２２ｃに基づく動作について、図８に示すフローチャートを参照しながら説明する。ここでは、パーソナルコンピュータ２０−１のＣＰＵ２１により実行される統合開発環境プログラム２２ｃによる動作として説明する。
【００４２】
パーソナルコンピュータ２０−１では、図４に示すように、リポジトリ設定ダイアログにおいて指定されたロケーションから、リポジトリサーバ１０のリポジトリ１６に登録されていたソースファイルを呼び出し、統合開発環境プログラム２２ｃにより変更しているものとする。例えば、図５に示すように、リポジトリサーバ１０から呼び出されたソースファイルのうち「Ｗｏｒｌｄ．ｊａｖａ」６４が更新されているものとする。
【００４３】
ここで、パッケージエクスプローラビュー３１のロケーション６０が表示された位置でマウス２７の右クリックがされると、ＣＰＵ２１は、コミットメニュー６１を表示装置２８に表示させる。ＣＰＵ２１は、コミットメニュー６１が押下されると、バージョン管理ソフトウェア（リポジトリサーバ１０）にソースコードを登録する指示を入力し（入力受付手段）、図６に示すように、表示装置２８にコミットダイアログ７０を表示させる（ステップＳ１）。
【００４４】
ＣＰＵ２１は、コメント挿入テーブル２３ｂを参照して、バージョンコントロールビュー７２にバージョン管理情報を表示させる（ステップＳ２）。図６に示すバージョンコントロールビュー７２では、「Ｗｏｒｌｄ．ｊａｖａ」がパーソナルコンピュータ２０−１において変更されていることから、「Ｗｏｒｌｄ．ｊａｖａ」についてコメント挿入有りが設定されていることを示している。
【００４５】
次に、ＣＰＵ２１は、表示装置２８に表示された変更履歴ビュー７３において、コメント挿入有りが設定されている「Ｗｏｒｌｄ．ｊａｖａ」のソースファイルに挿入する内容を表示させる（ソースコード表示手段）。すなわち、ソースコード内でコメントの挿入行であることを示すコメント記号７３ａ、日付挿入位置７３ｂ（さらには時刻を含んでも良い）を表示させる（ステップＳ３）。日付挿入位置７３ｂは、コミット実行時の日付（さらには時刻）を表すテキストが挿入されることを表す。
【００４６】
次に、ＣＰＵ２１は、補助記憶装置２３に予め記憶されているユーザ名データ２３ｃと連絡先データ２３ｄを参照して、開発者の氏名と連絡先７３ｃを示すテキストを表示装置２８に表示させる（ステップＳ４）。図６に示す例では、ユーザ名のテキストと電子メールアドレスとが表示されている。
【００４７】
次に、ＣＰＵ２１は、改行とコメント記号を挿入し、コミットコメントの編集フォーム７１に入力されたコミットコメント（テキスト）７３ｄを変更履歴ビュー７３に挿入する（ステップＳ５）。図６では、例えば「Ｆｉｘｅｄ  ｂｕｆｆｅｒ  ｏｖｅｒ…＃１５５」のテキストが挿入されている。
【００４８】
コミットコメントの編集フォーム７１には、実行ボタン７４を押下するまで、任意にコメントを作成／編集することができる。ＣＰＵ２１は、コミットコメントの編集フォーム７１にコミットコメント（テキスト）が入力されると、入力されたコミットコメント７３ｄを変更履歴ビュー７３に表示させる。
【００４９】
こうして、本実施形態におけるコミットダイアログ７０では、コメント挿入有りと設定されたファイルのソースコードに挿入されるコメントや開発者の氏名や連絡先を含むソースコードの開発に関係する情報の内容を、変更履歴ビュー７３において事前に確認することができる。また、コミットコメントの内容については、コミットコメントの編集フォーム７１において任意に編集することが可能となっている。
【００５０】
実行ボタン７４が押下されると（ステップＳ６、Ｙｅｓ）、ＣＰＵ２１は、コメント挿入テーブル２３ｂにおいてコメント挿入有り「Ｙ」が設定されているリソース（ソースファイル）を一つ選択し、そのリソースを開く（ステップＳ７）。
【００５１】
例えば、図９には、コメント挿入有りが設定されているソースファイル「Ｗｏｒｌｄ．ｊａｖａ」のソースコード８０の一例を示している。なお、図９にシーケンスソースコード８０の先頭２行に記載されているコメントは、他の開発者（例えば「Ｍｒ．Ｂａｎａｎａ）が「Ｗｏｒｌｄ．ｊａｖａ」に対して変更し、コミットすることにより挿入された内容を示している。
【００５２】
ＣＰＵ２１は、以下のようにして、コミットダイアログ７０の変更履歴ビュー７３において確認された内容（ソースコードの開発に関係する情報）を、ソースコード８０の例えば先頭に挿入するための処理（挿入手段（ステップＳ８〜Ｓ１５））を実行する。なお、ソースコード８０の先頭に挿入するだけでなく、ソースコードの末尾に挿入したり、ソースコード中の予め決められた位置に挿入することも可能である。
【００５３】
まず、ＣＰＵ２１は、ソースコード８０の先頭行に、コメント行であることを示すコメント記号「／／」を挿入する（ステップＳ８）。次に、ＣＰＵ２１は、例えばＯＳ２２ａが提供するシステムコールやコマンドを使用して、時計１４によって計時されている、例えば現在の日付（さらには時刻）を示すデータを取得し（ステップＳ９）、日付（時刻を含んでも良い）を示すテキストをソースコード８０に挿入する（ステップＳ１０）。
【００５４】
次に、ＣＰＵ２１は、補助記憶装置２３に予め記憶されているユーザ名データ２３ｃを取得して、ユーザ名を示すテキストをソースコード８０に挿入し（ステップＳ１１）、また連絡先データ２３ｄを取得して、開発者の連絡先（例えば電子メールアドレス）を示すテキストと改行コードをソースコード８０に挿入する（ステップＳ１２）。
【００５５】
次に、ＣＰＵ２１は、ユーザ名と連絡先を示すテキストの表示位置とコミットコメントの表示位置を合わせるためにタブ文字と「＊」（アスタリスク）をソースコードに挿入し（ステップＳ１３）、続けて、コミットコメントの編集フォーム７１に入力されたコミットコメントのテキストと改行とをソースコードに挿入する（ステップＳ１５）。
【００５６】
挿入が終わったら、ＣＰＵ２１は、コメント挿入の対象としていたソースファイル「Ｗｏｒｌｄ．ｊａｖａ」を閉じる（ステップＳ１６）。
【００５７】
図１０には、コメント挿入後のソースファイル「Ｗｏｒｌｄ．ｊａｖａ」のソースコード９０の一例を示している。図１０に示すように、ソースコードの先頭２行において、コミットダイアログ７０の変更履歴ビュー７３で確認された内容のコメント９１が挿入されている。
【００５８】
ＣＰＵ２１は、コメント挿入テーブル２３ｂにコメント挿入有り「Ｙ」になっているリソースが残っている場合（ステップＳ１７、Ｎｏ）、そのリソースを開いて（ステップＳ７）、前述と同様にしてコメントを挿入する（ステップＳ８〜Ｓ１６）。残っていない場合（ステップＳ１７、Ｙｅｓ）、ＣＰＵ２１は、バージョン管理ソフトウェア２２ｂが持つ機能を使って変更履歴情報を付けてソースファイルのコミット（登録）を実行する（ステップＳ１８）（登録手段）。
【００５９】
リポジトリサーバ１０のＣＰＵ１１は、バージョン管理ソフトウェア１２ｂの機能により、パーソナルコンピュータ２０−１からコミットにより送信されたソースファイルと変更履歴情報をリポジトリ１６に登録する。
【００６０】
リポジトリサーバ１０のリポジトリ１６に登録されたソースファイルは、ネットワーク２を介して接続されたパーソナルコンピュータ２０−１，…，２０−ｎにより呼び出されて変更等が行われる。この際、パーソナルコンピュータ２０−１，…，２０−ｎは、同じ開発環境（バージョン管理ソフトウェア２２ｂ）が設けられているため、ソースファイルと共にリポジトリ１６に登録された変更履歴情報を呼び出して、ソースファイルの状況を容易に把握することができる。さらに本実施形態では、同じ開発環境が設けられていない開発者に対して、リポジトリ１６に登録されたソースファイルのみを渡したとしても、ソースファイルのソースコード自体に変更履歴情報（コミットコメントや開発者の氏名、連絡先等）が挿入されているので、ソースファイルの状況を容易に把握することができ、同じ開発環境が設けられている開発者と同様にソースコードの開発をすることができる。
【００６１】
このようにして、本実施形態によれば、コミット実行時に、変更履歴情報（ソースコードの開発に関係する情報）を自動でソースコードに挿入することができる。また、コミット実行時に開発者がコミットダイアログ７０において入力するコミットコメントを、そのままソースコードに挿入するため、ソースコードに挿入するための変更履歴情報を別に作成するといった作業負担を増大させることがない。
【００６２】
なお、前述した説明では、コミットメニュー６１の押下によりコミットの実行が指示された場合にコミットダイアログ７０を表示して、コメントの挿入を開発者に確認しているが、コミットダイアログ７０を表示することなく、コミット実行の指示に応じて予め用意されているコメント（コミットコメントのテキスト、開発者の連絡先、日付等を含む）をソースコードに挿入した後に、ソースファイルと変更履歴情報をリポジトリ（バージョン管理ソフトウェア）に登録するようにしても良い。
【００６３】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００６４】
１０…リポジトリサーバ、１２ｂ，２２ｂ…バージョン管理ソフトウェア、１６…リポジトリ、１６ａ，２３ａ…ソースファイル、１６ｂ…変更履歴情報、２０…パーソナルコンピュータ、２２ｃ…統合開発環境プログラム、２３ｂ…コメント挿入テーブル、７０…コミットダイアログ、７１…コミットコメントの編集フォーム、７２…バージョンコントロールビュー、７３…変更履歴ビュー。
【図１】
2014056355.tif 000003
【図２】
2014056355.tif 000004
【図３】
2014056355.tif 000005
【図４】
2014056355.tif 000006
【図５】
2014056355.tif 000007
【図６】
2014056355.tif 000008
【図７】
2014056355.tif 000009
【図８】
2014056355.tif 000010
【図９】
2014056355.tif 000011
【図１０】
2014056355.tif 000012