JP2006277435A - ソースファイルバージョン管理システム - Google Patents
ソースファイルバージョン管理システム Download PDFInfo
- Publication number
- JP2006277435A JP2006277435A JP2005096764A JP2005096764A JP2006277435A JP 2006277435 A JP2006277435 A JP 2006277435A JP 2005096764 A JP2005096764 A JP 2005096764A JP 2005096764 A JP2005096764 A JP 2005096764A JP 2006277435 A JP2006277435 A JP 2006277435A
- Authority
- JP
- Japan
- Prior art keywords
- file
- source file
- source
- management system
- version management
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
【課題】 複数開発者が同一のソースファイルを同時に編集することを可能としながらソースファイルの整合性を確保し、かつ開発者がソースファイルの変更部分を容易に把握可能なバージョン管理システムを提供する。
【解決手段】 バージョン管理システム100を構成するバージョン管理システムサーバ110は、ソースファイル分割登録手段,排他制御手段,変更履歴管理手段,メソッド編集手段の各処理手段と、ソースファイル格納部111,メソッド名一覧情報格納部112の各情報格納部とを備える。ソースファイル分割登録手段はソースファイルのプログラム言語に応じて解析し、ソースファイルをメソッド単位に分割して生成したメソッドファイルをソースファイル格納部に格納する。排他制御部,変更履歴管理部,メソッド編集部は、各メソッドファイル毎に排他制御処理,変更履歴管理処理,編集処理を行う。
【選択図】 図1
【解決手段】 バージョン管理システム100を構成するバージョン管理システムサーバ110は、ソースファイル分割登録手段,排他制御手段,変更履歴管理手段,メソッド編集手段の各処理手段と、ソースファイル格納部111,メソッド名一覧情報格納部112の各情報格納部とを備える。ソースファイル分割登録手段はソースファイルのプログラム言語に応じて解析し、ソースファイルをメソッド単位に分割して生成したメソッドファイルをソースファイル格納部に格納する。排他制御部,変更履歴管理部,メソッド編集部は、各メソッドファイル毎に排他制御処理,変更履歴管理処理,編集処理を行う。
【選択図】 図1
Description
本発明は、プログラム開発において、プログラムを構成するファイルのバージョンを管理するシステムに関する。
プログラム開発では、一般に、開発の過程で発生するプログラムの修正,バージョンアップ時のプログラムの変更に伴うファイルの修正に関し、複数の開発者により修正されたファイルの整合性を確保するために、ファイルを共有するとともに、ファイルの変更履歴(バージョン間の差分)を管理するシステムが用いられている。
このようなシステムとしては、従来より、ある開発者が編集を行っている共有ファイルについて、他の開発者による編集を禁止するような排他制御を行うこととしたシステムが公知となっている(例えば、非特許文献1参照。)
「Microsoft Visual SourceSafe 6.0 製品のご案内(評価ガイド)」、[online]、Maicrosoft、[平成16年11月22日検索]インターネット<URL:http://www.microsoft.com/japan/msdn/ssafe/prodinfo/default.htm>
このようなシステムとしては、従来より、ある開発者が編集を行っている共有ファイルについて、他の開発者による編集を禁止するような排他制御を行うこととしたシステムが公知となっている(例えば、非特許文献1参照。)
「Microsoft Visual SourceSafe 6.0 製品のご案内(評価ガイド)」、[online]、Maicrosoft、[平成16年11月22日検索]インターネット<URL:http://www.microsoft.com/japan/msdn/ssafe/prodinfo/default.htm>
しかし、前記非特許文献に記載のバージョン管理システムでは、ファイル単位に排他制御を行っているため、ある開発者による作業が終了するまで他の開発者は同一のソースファイルを編集することができなかった。従って、複数開発者が同一ファイルの編集を行う場合には、無駄な待ち時間が発生するため、プログラム開発の迅速化,効率化を図ることができなかった。
また、ソースファイルの変更履歴管理についても、ファイル単位で行っているため、ソースファイルのサイズが大きく、かつ変更箇所が複数個所にまたがっている場合、変更箇所を把握し難いという問題があった。
また、ソースファイルの変更履歴管理についても、ファイル単位で行っているため、ソースファイルのサイズが大きく、かつ変更箇所が複数個所にまたがっている場合、変更箇所を把握し難いという問題があった。
本発明は前記課題を解決するためのものであり、複数開発者が同一のソースファイルを同時に編集することを可能としながらソースファイルの整合性を確保し、かつ開発者がソースファイルの変更部分を容易に把握可能なバージョン管理システムを提供することを目的とする。
前記課題を解決するため本発明は、開発対象プログラムを構成するソースファイルを登録し、登録されたソースファイルに対する編集処理についての排他制御を行うとともに、編集されたソースファイルの変更履歴管理を行うソースファイルバージョン管理システムにおいて、前記ソースファイルのプログラム言語に応じてソースファイルを解析し、当該ソースファイルをメソッド単位のソースコードファイルに分割したメソッドファイルを生成して、前記排他制御及び変更履歴管理の対象として登録するソースファイル分割登録手段を備えることを特徴とする。
また、前記ソースファイルバージョン管理システムは、任意に選択されたメソッドファイルの削除要求に応じて、当該メソッドファイルを削除するメソッドファイル編集手段を備えることを特徴とする。
また、前記メソッドファイル編集手段は、任意に選択されたメソッドファイルのメソッド名の変更要求に応じて、当該メソッドファイルを構成するソースコードのメソッド名を変更することを特徴とする。
また、前記メソッドファイル編集手段は、任意に選択されたソースファイルに対するメソッドファイルの追加要求に応じて、任意のメソッド名のメソッドファイルを生成して登録することを特徴とする。
また、前記ソースファイルバージョン管理システムは、任意に選択されたメソッドファイルの削除要求に応じて、当該メソッドファイルを削除するメソッドファイル編集手段を備えることを特徴とする。
また、前記メソッドファイル編集手段は、任意に選択されたメソッドファイルのメソッド名の変更要求に応じて、当該メソッドファイルを構成するソースコードのメソッド名を変更することを特徴とする。
また、前記メソッドファイル編集手段は、任意に選択されたソースファイルに対するメソッドファイルの追加要求に応じて、任意のメソッド名のメソッドファイルを生成して登録することを特徴とする。
以上の構成により本発明では、ソースファイルをメソッド単位に分割して登録することとしたので、メソッド単位での排他制御及び変更履歴管理が可能となる。
従って、複数開発者が同時に同一のソースファイルを編集することが可能となり、複数開発者によるプログラム開発の作業効率を向上させることができる。また、メソッド単位に変更履歴を参照できバージョン間の差分情報も同様にメソッド単位に確認ができるため、バージョン間の変更部分を容易に把握することが可能となる。
さらに、メソッド単位での削除,メソッド名の変更,メソッドファイルの追加を可能としたので、開発作業効率がさらに向上することとなる。
従って、複数開発者が同時に同一のソースファイルを編集することが可能となり、複数開発者によるプログラム開発の作業効率を向上させることができる。また、メソッド単位に変更履歴を参照できバージョン間の差分情報も同様にメソッド単位に確認ができるため、バージョン間の変更部分を容易に把握することが可能となる。
さらに、メソッド単位での削除,メソッド名の変更,メソッドファイルの追加を可能としたので、開発作業効率がさらに向上することとなる。
以下、本発明の一実施の形態に係るバージョン管理システムについて、図面に基づき説明する。
図1は、本発明の一実施の形態に係るバージョン管理システムの概略構成を示すブロック図である。
本実施の形態に係るバージョン管理システム100は、ソースファイルの管理を行うバージョン管理システムサーバ110と、バージョン管理システムサーバ110へのソースファイルの登録,編集等を行うバージョン管理システムクライアント120とから構成されている。
バージョン管理システムサーバ110は、ソースファイル分割登録手段、排他制御手段、変更履歴管理手段、メソッド編集手段の各処理手段と、ソースファイルを分割して格納するソースファイル格納部111と、メソッド名一覧情報格納部112とを備える。
本実施の形態に係るバージョン管理システム100は、バージョン管理システムサーバ110が、バージョン管理システムクライアント120から登録されたソースファイルを共通情報と各メソッドとに分割して格納し、共通情報又は各メソッド毎に排他制御,変更履歴管理,編集等を可能としている。
図1は、本発明の一実施の形態に係るバージョン管理システムの概略構成を示すブロック図である。
本実施の形態に係るバージョン管理システム100は、ソースファイルの管理を行うバージョン管理システムサーバ110と、バージョン管理システムサーバ110へのソースファイルの登録,編集等を行うバージョン管理システムクライアント120とから構成されている。
バージョン管理システムサーバ110は、ソースファイル分割登録手段、排他制御手段、変更履歴管理手段、メソッド編集手段の各処理手段と、ソースファイルを分割して格納するソースファイル格納部111と、メソッド名一覧情報格納部112とを備える。
本実施の形態に係るバージョン管理システム100は、バージョン管理システムサーバ110が、バージョン管理システムクライアント120から登録されたソースファイルを共通情報と各メソッドとに分割して格納し、共通情報又は各メソッド毎に排他制御,変更履歴管理,編集等を可能としている。
図2は、バージョン管理システムサーバ110がバージョン管理システムクライアント120に表示させるクライアント画面の一例を示す図である。
クライアント画面200は、ファイル登録ボタン201と、登録ファイル一覧表示部210とを有する。登録ファイル一覧表示部210は、フォルダをツリー状に表示するフォルダ表示部211と、各フォルダ内に登録されているソースファイルの一覧を表示するファイル表示部212と、各ソースファイル内に含まれるメソッドの一覧を表示するメソッド表示部213と、メソッドがチェックアウトされているか否か及びチェックアウトを行っているユーザのユーザIDを示す状態表示部214とから構成されている。
登録ファイル一覧表示部210のファイル表示部212においてマウスの右クリック等の所定の操作に応じてファイル単位での編集メニュー215として「メソッド追加」を表示する。また、メソッド表示部213においてマウスの右クリック等の所定の操作に応じてメソッド単位での編集メニュー216を表示する。編集メニュー216には、「編集」「チェックアウト」「チェックイン」「メソッド削除」「メソッド名変更」が含まれる。
「編集」は、バージョン管理システムクライアントにおいて任意のエディタを起動して、選択された任意のメソッドの内容を表示する処理を示す。
「チェックアウト」は、選択されたメソッドの排他制御を行う処理を示す。
「チェックイン」は、編集後のメソッド内容を登録する処理を示す。
「メソッド削除」は、選択されたメソッド自体を削除する処理を示す。
「メソッド名変更」は、選択されたメソッドについて登録されているメソッド名を変更する処理を示す。
メソッドファイルの編集を行う場合には、まず、「チェックアウト」を選択させ、任意のメソッドファイルを排他制御状態とした後、「編集」を選択させてエディタを起動することにより、ユーザによる編集を可能とする。
ユーザによる編集がされた後は「チェックイン」を選択させることにより、編集後のメソッドファイルをソースファイル格納部に上書登録する。この際、メソッドファイル内に含まれるメソッド名がメソッド名一覧情報に登録されたメソッド名と異なる場合には、新たなメソッド名をメソッド名一覧情報格納部に上書登録する。また、メソッドファイルの内容が全て削除された状態(空の状態)で「チェックイン」が選択された場合には、メソッドが削除されたものとみなし、ソースファイル格納部111に登録されたメソッドファイルを削除するとともに、メソッド名一覧情報格納部112から対応するメソッド名を削除する。
クライアント画面200は、ファイル登録ボタン201と、登録ファイル一覧表示部210とを有する。登録ファイル一覧表示部210は、フォルダをツリー状に表示するフォルダ表示部211と、各フォルダ内に登録されているソースファイルの一覧を表示するファイル表示部212と、各ソースファイル内に含まれるメソッドの一覧を表示するメソッド表示部213と、メソッドがチェックアウトされているか否か及びチェックアウトを行っているユーザのユーザIDを示す状態表示部214とから構成されている。
登録ファイル一覧表示部210のファイル表示部212においてマウスの右クリック等の所定の操作に応じてファイル単位での編集メニュー215として「メソッド追加」を表示する。また、メソッド表示部213においてマウスの右クリック等の所定の操作に応じてメソッド単位での編集メニュー216を表示する。編集メニュー216には、「編集」「チェックアウト」「チェックイン」「メソッド削除」「メソッド名変更」が含まれる。
「編集」は、バージョン管理システムクライアントにおいて任意のエディタを起動して、選択された任意のメソッドの内容を表示する処理を示す。
「チェックアウト」は、選択されたメソッドの排他制御を行う処理を示す。
「チェックイン」は、編集後のメソッド内容を登録する処理を示す。
「メソッド削除」は、選択されたメソッド自体を削除する処理を示す。
「メソッド名変更」は、選択されたメソッドについて登録されているメソッド名を変更する処理を示す。
メソッドファイルの編集を行う場合には、まず、「チェックアウト」を選択させ、任意のメソッドファイルを排他制御状態とした後、「編集」を選択させてエディタを起動することにより、ユーザによる編集を可能とする。
ユーザによる編集がされた後は「チェックイン」を選択させることにより、編集後のメソッドファイルをソースファイル格納部に上書登録する。この際、メソッドファイル内に含まれるメソッド名がメソッド名一覧情報に登録されたメソッド名と異なる場合には、新たなメソッド名をメソッド名一覧情報格納部に上書登録する。また、メソッドファイルの内容が全て削除された状態(空の状態)で「チェックイン」が選択された場合には、メソッドが削除されたものとみなし、ソースファイル格納部111に登録されたメソッドファイルを削除するとともに、メソッド名一覧情報格納部112から対応するメソッド名を削除する。
以上の構成に基づき、本実施の形態に係るバージョン管理システム100の行う処理として、まず、ソースファイル登録処理について説明する。
図3は、図2に示すクライアント画面200において、ファイル登録ボタンが押下された場合に表示するファイル種別選択画面の一例を示す図である。
ファイル種別選択画面300は、ファイル種別として「ソースファイル」又は「通常のファイル」のいずれかを選択させるラジオボタン301と、OKボタン302とを有する。ここで、「通常のファイル」とは、「ソースファイル」以外のファイル(データファイル、パラメータファイル等)を示す。
バージョン管理システムクライアント120では、クライアント画面200においてファイル登録ボタン201が押下されると、ファイル種別選択画面300を表示する。ファイル種別選択画面300において、ユーザによりラジオボタン301で「ソースファイル」又は「通常のファイル」のいずれかが選択され、OKボタン302が押下されると、ファイル種別を含む登録要求をバージョン管理システムサーバ110に送信する。
図3は、図2に示すクライアント画面200において、ファイル登録ボタンが押下された場合に表示するファイル種別選択画面の一例を示す図である。
ファイル種別選択画面300は、ファイル種別として「ソースファイル」又は「通常のファイル」のいずれかを選択させるラジオボタン301と、OKボタン302とを有する。ここで、「通常のファイル」とは、「ソースファイル」以外のファイル(データファイル、パラメータファイル等)を示す。
バージョン管理システムクライアント120では、クライアント画面200においてファイル登録ボタン201が押下されると、ファイル種別選択画面300を表示する。ファイル種別選択画面300において、ユーザによりラジオボタン301で「ソースファイル」又は「通常のファイル」のいずれかが選択され、OKボタン302が押下されると、ファイル種別を含む登録要求をバージョン管理システムサーバ110に送信する。
図4は、登録要求を受信したバージョン管理システムサーバ110のソースファイル分割登録手段が行うソースファイル登録処理手順を示すフローチャートである。
ソースファイル登録部は、バージョン管理システムクライアント120からの登録要求のあったファイルとともに、当該登録要求に含まれるファイル種別を取得する(ステップ401)。
ファイル種別が「ソースファイル以外」を示す場合には、取得したファイルをそのまま登録する(ステップ402)。一方、ファイル種別が「ソースファイル」を示す場合には、例えば、「.java」又は「.cpp」等のファイルの拡張子に基づき、プログラム言語の種類を判定する(ステップ403)。
判定したプログラム言語に応じて、予め定義された分割基準情報に基づき、ソースファイルを解析し、共通部分(メソッド以外の部分)と各メソッド単位とに分割する(ステップ404)。
分割した各ファイルをソースファイル格納部111に格納するとともに(ステップ405)、ソースファイルの解析結果から、メソッド名一覧を生成して、メソッド名一覧情報格納部112に格納する。(ステップ406)
ソースファイル登録部は、バージョン管理システムクライアント120からの登録要求のあったファイルとともに、当該登録要求に含まれるファイル種別を取得する(ステップ401)。
ファイル種別が「ソースファイル以外」を示す場合には、取得したファイルをそのまま登録する(ステップ402)。一方、ファイル種別が「ソースファイル」を示す場合には、例えば、「.java」又は「.cpp」等のファイルの拡張子に基づき、プログラム言語の種類を判定する(ステップ403)。
判定したプログラム言語に応じて、予め定義された分割基準情報に基づき、ソースファイルを解析し、共通部分(メソッド以外の部分)と各メソッド単位とに分割する(ステップ404)。
分割した各ファイルをソースファイル格納部111に格納するとともに(ステップ405)、ソースファイルの解析結果から、メソッド名一覧を生成して、メソッド名一覧情報格納部112に格納する。(ステップ406)
図5,6は、バージョン管理システムサーバ110に登録されたソースファイルの一例を示す図であり、図5はjava言語(「Java」は、米国サンマイクロシステムズ社の登録商標である。)のソースファイルの例を示し、図6はC++言語のソースファイルの例を示す。
図5に示すように、java言語の場合には、例えば、packageの宣言(「package xxx.yyy.zzz;」)やimport文(「import java.util.*;」)等のクラス定義(「public class SampleA{」)の前に記述されている文、クラス定義(「public class SampleA」)、メンバ変数の宣言(「private String strA;」)、およびソースファイルの最後のクラス定義のおわり(「}」)を共通部分とみなす。メソッド宣言の始まり(「public void methodA(){」)からメソッド宣言の終わり(「}」)までをメソッド部分とみなす。コンストラクタ宣言の始まり(「public SampleA(){」)からコンストラクタ宣言の終わり(「}」)についても、通常のメソッドと同様に扱う。
一方、図6に示すように、C++言語の場合には、例えば、マクロ定義(「#include <SampleB.h>」)、クラス宣言の始まり(「class SampleB {」)からクラス宣言の終わり(「}」)を共通部分とみなす。メソッド宣言の始まり(「void SampleB::methodA() {」)からメソッド宣言の終わり(「}」)までをメソッド部分とみなす。コンストラクタ宣言の始まり(「SampleB::SampleB() {」)からコンストラクタ宣言の終わり(「}」)についても、通常のメソッドと同様に扱う。
図5に示すように、java言語の場合には、例えば、packageの宣言(「package xxx.yyy.zzz;」)やimport文(「import java.util.*;」)等のクラス定義(「public class SampleA{」)の前に記述されている文、クラス定義(「public class SampleA」)、メンバ変数の宣言(「private String strA;」)、およびソースファイルの最後のクラス定義のおわり(「}」)を共通部分とみなす。メソッド宣言の始まり(「public void methodA(){」)からメソッド宣言の終わり(「}」)までをメソッド部分とみなす。コンストラクタ宣言の始まり(「public SampleA(){」)からコンストラクタ宣言の終わり(「}」)についても、通常のメソッドと同様に扱う。
一方、図6に示すように、C++言語の場合には、例えば、マクロ定義(「#include <SampleB.h>」)、クラス宣言の始まり(「class SampleB {」)からクラス宣言の終わり(「}」)を共通部分とみなす。メソッド宣言の始まり(「void SampleB::methodA() {」)からメソッド宣言の終わり(「}」)までをメソッド部分とみなす。コンストラクタ宣言の始まり(「SampleB::SampleB() {」)からコンストラクタ宣言の終わり(「}」)についても、通常のメソッドと同様に扱う。
次に、ソースファイル格納部111に格納された分割ファイルの編集処理において、排他制御手段が行う排他制御処理について説明する。
図7は排他制御処理を示す概念図であり、図8は排他制御手段が表示するエラーメッセージ画面の一例を示す図である。
図2に示すクライアント画面200のフォルダ表示部201にツリー状に表示されているフォルダ一覧から任意のフォルダが選択されると、ファイル表示部201にファイルの一覧とともに、各ファイルに含まれるメソッドの一覧と、各メソッドの状態を表示する。
この状態において任意のメソッドに対しチェックアウト操作がなされると
図7に示すように、バージョン管理システムサーバ110の排他制御手段は、バージョン管理システムクライアント120AからメソッドA700に対するチェックアウト要求を受付けると、排他管理情報701を生成し、メソッドA700に対応付けてソースファイル格納部111に格納するとともに、登録ファイル一覧表示部212の状態表示欄214に「チェックアウト中(userA)」を表示させる。
この状態において、バージョン管理システムクライアント120BからメソッドA700に対するチェックアウト要求を受付けると、バージョン管理システムサーバ110の排他制御手段は、排他管理情報701を参照してメソッドA700がチェックアウト中であることを判定し、バージョン管理システムクライアント120Bに、例えば、図8に示すようなエラーメッセージ画面800を表示させる。
図7は排他制御処理を示す概念図であり、図8は排他制御手段が表示するエラーメッセージ画面の一例を示す図である。
図2に示すクライアント画面200のフォルダ表示部201にツリー状に表示されているフォルダ一覧から任意のフォルダが選択されると、ファイル表示部201にファイルの一覧とともに、各ファイルに含まれるメソッドの一覧と、各メソッドの状態を表示する。
この状態において任意のメソッドに対しチェックアウト操作がなされると
図7に示すように、バージョン管理システムサーバ110の排他制御手段は、バージョン管理システムクライアント120AからメソッドA700に対するチェックアウト要求を受付けると、排他管理情報701を生成し、メソッドA700に対応付けてソースファイル格納部111に格納するとともに、登録ファイル一覧表示部212の状態表示欄214に「チェックアウト中(userA)」を表示させる。
この状態において、バージョン管理システムクライアント120BからメソッドA700に対するチェックアウト要求を受付けると、バージョン管理システムサーバ110の排他制御手段は、排他管理情報701を参照してメソッドA700がチェックアウト中であることを判定し、バージョン管理システムクライアント120Bに、例えば、図8に示すようなエラーメッセージ画面800を表示させる。
また、ソースファイル格納部111に格納された分割ファイルの編集処理において、変更履歴管理手段が行う変更履歴管理処理について説明する。
変更履歴管理処理について説明する。
図9は、変更履歴管理処理を示す概念図である。
図9に示すように、変更履歴管理手段は、バージョン管理システムクライアント120Aからのチェックインを受付け、メソッドA900についての差分情報901を生成し、当該メソッド毎の分割ファイルに対応付けて、ソースファイル格納部111に格納する。
以上の処理によりメソッド単位でのソースコードの変更履歴管理を行う。
変更履歴管理処理について説明する。
図9は、変更履歴管理処理を示す概念図である。
図9に示すように、変更履歴管理手段は、バージョン管理システムクライアント120Aからのチェックインを受付け、メソッドA900についての差分情報901を生成し、当該メソッド毎の分割ファイルに対応付けて、ソースファイル格納部111に格納する。
以上の処理によりメソッド単位でのソースコードの変更履歴管理を行う。
次に、各メソッド単位での編集処理について説明する。
図10〜12は、クライアント画面200において「メソッド追加」「メソッド削除」「メソッド名変更」が選択された場合に表示する各表示画面の一例を示す図である。
「メソッド追加」が選択された場合には、図10に示すように、メソッド名入力欄1001と、追加するメソッドの位置を決めるためのメソッド追加対象のソースファイル内に含まれる共通部分(Common)以外のメソッドの一覧を表示するメソッド挿入位置選択部1002と,OKボタン1003と、キャンセルボタン1004とを有するメソッド追加画面1000を表示する。メソッド追加画面1000において、メソッド名入力欄1001に任意のメソッド名が入力された状態で、メソッド挿入位置選択部1002で挿入するメソッドの位置を選択し,OKボタン1003が押下されると、メソッド名一覧情報に入力されたメソッド名のメソッドをメソッド挿入位置選択部1002で選択されたメソッドの前に追加するとともに、改行を1行含むメソッドファイルを生成する。メソッド挿入位置選択部1002で挿入するメソッドの位置を選択していない場合は,メソッド名一覧情報の最後にメソッドを追加する。
「メソッド削除」が選択された場合には、図11に示すように、「メソッドを削除しますか?」という確認メッセージとともに、「はい」ボタン1101と「いいえ」ボタン1102とを備えたメソッド削除確認画面1100を表示する。メソッド削除確認画面1100において、「はい」ボタン1101が押下されると、メソッド名一覧情報から任意に選択されたメソッドファイルに対応するメソッド名を削除するとともに、ソースファイル格納部101に格納されたメソッドファイルを削除する。
「メソッド名変更」が選択された場合には、図12に示すように、メソッド名修正欄1201と、OKボタン1202と、キャンセルボタン1203とを有するメソッド名変更画面1200を表示する。メソッド名変更画面1200において、メソッド名修正欄1201に任意のメソッド名が入力された状態で、OKボタン1202が押下されると、メソッド名一覧情報の中に登録されたメソッド名を修正し、ソースファイル格納部111に格納されたメソッドファイルのメソッド名を修正するとともに、メソッド名一覧情報格納部102のメソッド名を修正して更新する。
図10〜12は、クライアント画面200において「メソッド追加」「メソッド削除」「メソッド名変更」が選択された場合に表示する各表示画面の一例を示す図である。
「メソッド追加」が選択された場合には、図10に示すように、メソッド名入力欄1001と、追加するメソッドの位置を決めるためのメソッド追加対象のソースファイル内に含まれる共通部分(Common)以外のメソッドの一覧を表示するメソッド挿入位置選択部1002と,OKボタン1003と、キャンセルボタン1004とを有するメソッド追加画面1000を表示する。メソッド追加画面1000において、メソッド名入力欄1001に任意のメソッド名が入力された状態で、メソッド挿入位置選択部1002で挿入するメソッドの位置を選択し,OKボタン1003が押下されると、メソッド名一覧情報に入力されたメソッド名のメソッドをメソッド挿入位置選択部1002で選択されたメソッドの前に追加するとともに、改行を1行含むメソッドファイルを生成する。メソッド挿入位置選択部1002で挿入するメソッドの位置を選択していない場合は,メソッド名一覧情報の最後にメソッドを追加する。
「メソッド削除」が選択された場合には、図11に示すように、「メソッドを削除しますか?」という確認メッセージとともに、「はい」ボタン1101と「いいえ」ボタン1102とを備えたメソッド削除確認画面1100を表示する。メソッド削除確認画面1100において、「はい」ボタン1101が押下されると、メソッド名一覧情報から任意に選択されたメソッドファイルに対応するメソッド名を削除するとともに、ソースファイル格納部101に格納されたメソッドファイルを削除する。
「メソッド名変更」が選択された場合には、図12に示すように、メソッド名修正欄1201と、OKボタン1202と、キャンセルボタン1203とを有するメソッド名変更画面1200を表示する。メソッド名変更画面1200において、メソッド名修正欄1201に任意のメソッド名が入力された状態で、OKボタン1202が押下されると、メソッド名一覧情報の中に登録されたメソッド名を修正し、ソースファイル格納部111に格納されたメソッドファイルのメソッド名を修正するとともに、メソッド名一覧情報格納部102のメソッド名を修正して更新する。
図13は、バージョン管理システムサーバ110のメソッド編集手段が行うメソッド編集処理の主な流れを示すフローチャートである。
バージョン管理システムクライアント120からチェックイン要求を受付けると、メソッド編集手段は、受信したメソッドファイルが空であるかを判定し(ステップ1301)、メソッドファイルが空である場合には、結果として「メソッド削除」と同等の変更を行ったことになるので、メソッド名一覧情報から当該メソッドファイルに対応する情報を削除するとともに(ステップ1302)、ソースファイル格納部111から該当するメソッドファイルを削除して処理を終了する(ステップ1303)。
一方、メソッドファイルが空でない場合には、メソッド名が変更されているか否かを判定し(ステップ1304)、メソッド名が変更されている場合には、メソッド名一覧情報のメソッド名を変更するとともに(ステップ1305)、メソッドファイルを上書き保存して処理を終了する(ステップ1306)。
メソッド名が変更されていない場合には、そのままメソッドファイルを上書き保存する(ステップ1307)。
バージョン管理システムクライアント120からチェックイン要求を受付けると、メソッド編集手段は、受信したメソッドファイルが空であるかを判定し(ステップ1301)、メソッドファイルが空である場合には、結果として「メソッド削除」と同等の変更を行ったことになるので、メソッド名一覧情報から当該メソッドファイルに対応する情報を削除するとともに(ステップ1302)、ソースファイル格納部111から該当するメソッドファイルを削除して処理を終了する(ステップ1303)。
一方、メソッドファイルが空でない場合には、メソッド名が変更されているか否かを判定し(ステップ1304)、メソッド名が変更されている場合には、メソッド名一覧情報のメソッド名を変更するとともに(ステップ1305)、メソッドファイルを上書き保存して処理を終了する(ステップ1306)。
メソッド名が変更されていない場合には、そのままメソッドファイルを上書き保存する(ステップ1307)。
以上のように、本実施の形態に係るソースファイルバージョン管理システムでは、ソースファイルをメソッド単位に分割したファイルを生成して登録することとしたので、メソッド単位での排他制御,編集,変更履歴管理等が可能となる。
なお、前記実施の形態では、ソースファイルをメソッドファイル単位で分割して登録することとしているが、これに限らず、タグ等で識別可能な範囲を示す単位であれば、他の単位で分割することとしてもよい。
100 バージョン管理システム、110 バージョン管理システムサーバ、111 ソースファイル格納部、112 メソッド名一覧情報格納部、120 バージョン管理システムクライアント。
Claims (4)
- 開発対象プログラムを構成するソースファイルを登録し、登録されたソースファイルに対する編集処理についての排他制御を行うとともに、編集されたソースファイルの変更履歴管理を行うソースファイルバージョン管理システムにおいて、
前記ソースファイルのプログラム言語に応じてソースファイルを解析し、当該ソースファイルをメソッド以外の共通情報とメソッド単位とのソースコードファイルに分割したメソッドファイルを生成して、当該メソッドファイルを前記排他制御及び変更履歴管理の対象として登録するソースファイル分割登録手段を備えることを特徴とするソースファイルバージョン管理システム。 - 前記ソースファイルバージョン管理システムは、
任意に選択されたメソッドファイルの削除要求に応じて、当該メソッドファイルを削除するメソッドファイル編集手段を備えることを特徴とする請求項1に記載のソースファイルバージョン管理システム。 - 前記メソッドファイル編集手段は、任意に選択されたメソッドファイルのメソッド名の変更要求に応じて、当該メソッドファイルを構成するソースコード中のメソッド名を変更することを特徴とする請求項2に記載のソースファイルバージョン管理システム。
- 前記メソッドファイル編集手段は、任意に選択されたソースファイルに対するメソッドファイルの追加要求に応じて、任意のメソッド名を含むメソッドファイルを生成して登録することを特徴とする請求項2又は3のいずれかに記載のソースファイルバージョン管理システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005096764A JP2006277435A (ja) | 2005-03-30 | 2005-03-30 | ソースファイルバージョン管理システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005096764A JP2006277435A (ja) | 2005-03-30 | 2005-03-30 | ソースファイルバージョン管理システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006277435A true JP2006277435A (ja) | 2006-10-12 |
Family
ID=37212119
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005096764A Pending JP2006277435A (ja) | 2005-03-30 | 2005-03-30 | ソースファイルバージョン管理システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006277435A (ja) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008117340A (ja) * | 2006-11-08 | 2008-05-22 | Nomura Research Institute Ltd | プログラムのソースコード管理システム及びプログラムのソースコードの更新方法 |
JP2009048442A (ja) * | 2007-08-21 | 2009-03-05 | Hitachi Software Eng Co Ltd | 構成管理システム |
JP2009140443A (ja) * | 2007-12-11 | 2009-06-25 | Meidensha Corp | ソフトウェア開発支援システム、排他制御方法およびプログラム |
US7945589B1 (en) | 2009-02-11 | 2011-05-17 | Bsp Software Llc | Integrated change management in a business intelligence environment |
US8751464B1 (en) | 2009-02-11 | 2014-06-10 | Avnet, Inc. | Integrated version control in a business intelligence environment |
US8990773B2 (en) | 2011-12-21 | 2015-03-24 | International Business Machines Corporation | Retrieving revisions in source code from a plurality of revision history data sets |
JP2015064808A (ja) * | 2013-09-26 | 2015-04-09 | 株式会社日立ソリューションズ | メソッドレベルのクローン分析方法 |
US9557727B2 (en) | 2011-08-03 | 2017-01-31 | Mitsubishi Electric Corporation | Program creation device and programmable logic controller |
WO2020202816A1 (ja) * | 2019-04-05 | 2020-10-08 | 株式会社日立製作所 | Webアプリケーションの作成運用支援システム |
-
2005
- 2005-03-30 JP JP2005096764A patent/JP2006277435A/ja active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008117340A (ja) * | 2006-11-08 | 2008-05-22 | Nomura Research Institute Ltd | プログラムのソースコード管理システム及びプログラムのソースコードの更新方法 |
JP2009048442A (ja) * | 2007-08-21 | 2009-03-05 | Hitachi Software Eng Co Ltd | 構成管理システム |
JP2009140443A (ja) * | 2007-12-11 | 2009-06-25 | Meidensha Corp | ソフトウェア開発支援システム、排他制御方法およびプログラム |
US7945589B1 (en) | 2009-02-11 | 2011-05-17 | Bsp Software Llc | Integrated change management in a business intelligence environment |
US8751464B1 (en) | 2009-02-11 | 2014-06-10 | Avnet, Inc. | Integrated version control in a business intelligence environment |
US9557727B2 (en) | 2011-08-03 | 2017-01-31 | Mitsubishi Electric Corporation | Program creation device and programmable logic controller |
US8990773B2 (en) | 2011-12-21 | 2015-03-24 | International Business Machines Corporation | Retrieving revisions in source code from a plurality of revision history data sets |
JP2015064808A (ja) * | 2013-09-26 | 2015-04-09 | 株式会社日立ソリューションズ | メソッドレベルのクローン分析方法 |
WO2020202816A1 (ja) * | 2019-04-05 | 2020-10-08 | 株式会社日立製作所 | Webアプリケーションの作成運用支援システム |
JP2020170453A (ja) * | 2019-04-05 | 2020-10-15 | 株式会社日立製作所 | Webアプリケーションの作成運用支援システム |
JP7300303B2 (ja) | 2019-04-05 | 2023-06-29 | 株式会社日立製作所 | Webアプリケーションの作成運用支援システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006277435A (ja) | ソースファイルバージョン管理システム | |
US9195522B2 (en) | Method and device for controlling communication between applications in a web runtime environment | |
JP5087133B2 (ja) | アプリケーション開発支援装置、プログラム及び記録媒体 | |
JP4845153B2 (ja) | 複数のクライアントを用いた分散環境で更新作業のコンフリクトを回避するシステム、方法、サーバ及びコンピュータプログラム | |
US20080115195A1 (en) | Remote workflow schedule authoring | |
JP5967603B2 (ja) | 複数の変更履歴データのうちからソースコード中の変更内容を探索するための方法、並びに、そのコンピュータ及びコンピュータ・プログラム | |
US8515729B2 (en) | User translated sites after provisioning | |
JP2004512578A (ja) | ネットワークベースのソフトウェア拡張機能 | |
JPH10105410A (ja) | インターネット−イネーブル型ポートフォリオ・マネージャ・システム及び方法 | |
JP2009181329A (ja) | アプリケーション開発支援装置及びプログラム | |
KR20110127686A (ko) | 리치 웹 사이트 저작 및 디자인 | |
JP2005338940A (ja) | インストール方法、情報処理装置、及びデバイスドライバ | |
US9436444B2 (en) | Method and system to determine component deprecation | |
JP6801086B2 (ja) | プログラム開発支援装置、プログラム開発支援方法、及びプログラム開発支援プログラム | |
US8245182B2 (en) | Class selectable design sharing | |
US8539473B2 (en) | Techniques for providing information regarding software components for a user-defined context | |
JP2009087093A (ja) | アプリケーション開発支援装置及びプログラム | |
JP5058219B2 (ja) | シナリオ作成方法、その装置、プログラム及び記録媒体 | |
US20120066631A1 (en) | Default location that may be dynamically changed | |
JP6552162B2 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
CN113934959A (zh) | 一种程序预览方法、装置、计算机设备和存储介质 | |
JP2007226739A (ja) | ソフトウェア開発装置およびプログラム | |
JP6144100B2 (ja) | 文書管理システムおよび文書管理方法 | |
JP2007226752A (ja) | メニューカスタマイズシステム及びメニューカスタマイズプログラム | |
JP2009064347A (ja) | 作業支援情報表示装置および作業支援情報表示方法 |