JPH0756721A - リビジョン管理方法 - Google Patents
リビジョン管理方法Info
- Publication number
- JPH0756721A JPH0756721A JP5199642A JP19964293A JPH0756721A JP H0756721 A JPH0756721 A JP H0756721A JP 5199642 A JP5199642 A JP 5199642A JP 19964293 A JP19964293 A JP 19964293A JP H0756721 A JPH0756721 A JP H0756721A
- Authority
- JP
- Japan
- Prior art keywords
- version
- branch
- source module
- revision
- parallel
- 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
Landscapes
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】
【目的】 ソースモジュール流通における混乱を回避す
る。 【構成】 ソースモジュールの版を登録する場合、ソー
スモジュールの個別編集を行ない(ステップ51)、こ
れを個別編集ブランチヘ登録する(ステップ52)こと
を繰り返したのち、当該ソースモジュールが流通可能な
状態であるか判断し(ステップ53)、流通可能であれ
ば、個別編集ブランチへ登録したまま、流通用ブランチ
群へ登録する(ステップ54)。
る。 【構成】 ソースモジュールの版を登録する場合、ソー
スモジュールの個別編集を行ない(ステップ51)、こ
れを個別編集ブランチヘ登録する(ステップ52)こと
を繰り返したのち、当該ソースモジュールが流通可能な
状態であるか判断し(ステップ53)、流通可能であれ
ば、個別編集ブランチへ登録したまま、流通用ブランチ
群へ登録する(ステップ54)。
Description
【0001】
【産業上の利用分野】本発明は、大人数が開発に関与す
る大規模ソフトウェア開発プロセスを実現するためのソ
フトウェア開発環境に関し、特に、プログラムを構成す
る複数のソースモジュールをモジュール単位で保持する
版数管理原本記憶領域を備えるサーバマシンと、前記サ
ーバマシンの版数管理原本記憶領域へ前記ソースモジュ
ールのリビジョンを登録するための登録機構を備え、複
数のユーザーグループが共同して使用する複数のクライ
アントマシンとを有するプログラム開発用ネットワーク
における、前記ソースモジュールのリビジョン管理方法
に関する。
る大規模ソフトウェア開発プロセスを実現するためのソ
フトウェア開発環境に関し、特に、プログラムを構成す
る複数のソースモジュールをモジュール単位で保持する
版数管理原本記憶領域を備えるサーバマシンと、前記サ
ーバマシンの版数管理原本記憶領域へ前記ソースモジュ
ールのリビジョンを登録するための登録機構を備え、複
数のユーザーグループが共同して使用する複数のクライ
アントマシンとを有するプログラム開発用ネットワーク
における、前記ソースモジュールのリビジョン管理方法
に関する。
【0002】
【従来の技術】プログラムの開発履歴を残し、開発の過
程で版(リビジョン)を新しくしてきたプログラムの、
それぞれのリビジョンの供給管理を行なうため、プログ
ラム・ソースモジュールのリビジョン管理方法がある。
図6は、従来のリビジョン管理方法のソースモジュール
構成例を示す説明図である。
程で版(リビジョン)を新しくしてきたプログラムの、
それぞれのリビジョンの供給管理を行なうため、プログ
ラム・ソースモジュールのリビジョン管理方法がある。
図6は、従来のリビジョン管理方法のソースモジュール
構成例を示す説明図である。
【0003】図6を参照する。版(リビジョン)が1.
1から1.2,1.3,1.4,へと進行し、1.4で
枝(ブランチ)別れして、1.4.1.1,1.4.
1.2へと進行するものと1.5へ進行するものとがあ
る場合を示している。
1から1.2,1.3,1.4,へと進行し、1.4で
枝(ブランチ)別れして、1.4.1.1,1.4.
1.2へと進行するものと1.5へ進行するものとがあ
る場合を示している。
【0004】ここで、版1.4のAメイカーはAと言う
人が作ったものであり、版1.4.1.2のBメイカー
は、Bと言う人が作ったものであることを示している。
このような版を推移を管理するリビジョン管理方法は、
図に見られるように、ログ情報81、ソース情報82、
各版の差分情報83,84,・・・を用いている。
人が作ったものであり、版1.4.1.2のBメイカー
は、Bと言う人が作ったものであることを示している。
このような版を推移を管理するリビジョン管理方法は、
図に見られるように、ログ情報81、ソース情報82、
各版の差分情報83,84,・・・を用いている。
【0005】すなわち、従来のリビジョン管理方法は、
1ソースモジュールに登録履歴を差分情報で記録するこ
とによって、任意の登録ソースモジュールを取得できる
仕組みになっている。また、登録時には、既登録のどの
版との差分情報を記録するかを指定することによって、
ツリー状に版を並列に管理することができる。登録版に
対するシンボル情報を、版管理ソースモジュール内に記
述することによって、登録版がどの供給に対するものか
を管理している。
1ソースモジュールに登録履歴を差分情報で記録するこ
とによって、任意の登録ソースモジュールを取得できる
仕組みになっている。また、登録時には、既登録のどの
版との差分情報を記録するかを指定することによって、
ツリー状に版を並列に管理することができる。登録版に
対するシンボル情報を、版管理ソースモジュール内に記
述することによって、登録版がどの供給に対するものか
を管理している。
【0006】なお、このような従来技術を記載した参考
文献として、次のものを挙げることができる。
文献として、次のものを挙げることができる。
【0007】・Walter F. Tichy “Design, Implementa
tion, and Evaluation of RevisionControl System”6t
h ICSE, IEEE Sep. 1982
tion, and Evaluation of RevisionControl System”6t
h ICSE, IEEE Sep. 1982
【0008】
【発明が解決しようとする課題】上述した従来のリビジ
ョン管理方法は、複数のユーザーが並列にソースモジュ
ールを編集し、開発者間で流通させる開発プロセスに適
用した場合、次の(1),(2)に示す欠点がある。
ョン管理方法は、複数のユーザーが並列にソースモジュ
ールを編集し、開発者間で流通させる開発プロセスに適
用した場合、次の(1),(2)に示す欠点がある。
【0009】(1)リビジョン管理方法が流通形態と関
連を持っていないために、ツリー状に版管理ができるに
も関わらず、現実の開発プロセスでは単なる履歴の保存
のためにリビジョン管理方法が利用されるに留まってし
まう。または、この場合とは反対に、リビジョン管理方
法が流通形態と関連がないために、単に複数の開発者間
でソースモジュールをやりとりするための手段としての
み利用されてしまい、履歴管理の役割を果たせない、い
ずれの場合でも、結果として複数の開発者間でソースモ
ジュール流通に混乱を来す。
連を持っていないために、ツリー状に版管理ができるに
も関わらず、現実の開発プロセスでは単なる履歴の保存
のためにリビジョン管理方法が利用されるに留まってし
まう。または、この場合とは反対に、リビジョン管理方
法が流通形態と関連がないために、単に複数の開発者間
でソースモジュールをやりとりするための手段としての
み利用されてしまい、履歴管理の役割を果たせない、い
ずれの場合でも、結果として複数の開発者間でソースモ
ジュール流通に混乱を来す。
【0010】(2)現実の開発プロセスにおいて、ユー
ザーの要求に答えて単にブランチを増やすだけでは、フ
ァイルの亜流が増加し、どれが本当の生産物であるかが
判らなくなってしまい、ソースモジュール流通に混乱を
来す。
ザーの要求に答えて単にブランチを増やすだけでは、フ
ァイルの亜流が増加し、どれが本当の生産物であるかが
判らなくなってしまい、ソースモジュール流通に混乱を
来す。
【0011】本発明の目的は、(1)ソースモジュール
流通において、開発者が必要とするソースモジュールの
参照が確実に、唯一の手順でできる上に、流通以前の個
別編集の履歴の管理と、(2)必要に応じて並行に編集
するためのブランチを作っても、その編集内容が適切
に、全体に流通しているソースモジュールに反映し得
る、整然とした並行編集が行ない得るような、リビジョ
ン管理方法を提供することにある。
流通において、開発者が必要とするソースモジュールの
参照が確実に、唯一の手順でできる上に、流通以前の個
別編集の履歴の管理と、(2)必要に応じて並行に編集
するためのブランチを作っても、その編集内容が適切
に、全体に流通しているソースモジュールに反映し得
る、整然とした並行編集が行ない得るような、リビジョ
ン管理方法を提供することにある。
【0012】
【課題を解決するための手段】本発明の版管理方法は、
登録機構によりサーバマシンの版数管理原本記憶領域へ
ソースモジュールのリビジョンを登録する場合、ソース
モジュールの個別編集を行なって個別編集ブランチへ登
録することを繰り返したのち、当該ソースモジュールが
他のユーザグループに対して流通可能な状態になったと
き、個別編集ブランチへ登録したまま、流通用ブランチ
群へ登録する段階を有する。
登録機構によりサーバマシンの版数管理原本記憶領域へ
ソースモジュールのリビジョンを登録する場合、ソース
モジュールの個別編集を行なって個別編集ブランチへ登
録することを繰り返したのち、当該ソースモジュールが
他のユーザグループに対して流通可能な状態になったと
き、個別編集ブランチへ登録したまま、流通用ブランチ
群へ登録する段階を有する。
【0013】前記サーバマシンの版数管理原本記憶領域
へソースモジュールを登録する場合で、ソースモジュー
ルの共通版のブランチから並行編集ブランチを伸ばした
とき、共通版のブランチ中の特定版を当該並行編集ブラ
ンチに登録し、それをもって当該並行編集ブランチを終
端し、あるいは、最新の公開版である旨のタグを付けら
れた版から最新の共通版までの差分と、最新の公開版で
ある旨のタグを付けられた版から最新の並行編集版まで
の差分とを関数単位に比較し、編集内容が重複しない場
合に最新の共通版と最新の並行編集版とをマージし、当
該並行編集ブランチを終端する段階と、終端していない
並行編集ブランチの有無を確認する段階とを有してもよ
い。
へソースモジュールを登録する場合で、ソースモジュー
ルの共通版のブランチから並行編集ブランチを伸ばした
とき、共通版のブランチ中の特定版を当該並行編集ブラ
ンチに登録し、それをもって当該並行編集ブランチを終
端し、あるいは、最新の公開版である旨のタグを付けら
れた版から最新の共通版までの差分と、最新の公開版で
ある旨のタグを付けられた版から最新の並行編集版まで
の差分とを関数単位に比較し、編集内容が重複しない場
合に最新の共通版と最新の並行編集版とをマージし、当
該並行編集ブランチを終端する段階と、終端していない
並行編集ブランチの有無を確認する段階とを有してもよ
い。
【0014】
【作用】ソースモジュールが他のユーザグループに対し
て流通可能な状態になったとき、個別編集ブランチへ登
録したまま流通用ブランチ群へ登録するので、開発者が
必要とするソースモジュールの参照が確実に、唯一の手
順ででき、身元の明確なソースモジュールのみが流通
し、ソースモジュールの開発に混乱を生じない。
て流通可能な状態になったとき、個別編集ブランチへ登
録したまま流通用ブランチ群へ登録するので、開発者が
必要とするソースモジュールの参照が確実に、唯一の手
順ででき、身元の明確なソースモジュールのみが流通
し、ソースモジュールの開発に混乱を生じない。
【0015】また、並行に編集するためのブランチを作
っても、その編集内容が適切に流通しているソースモジ
ュールに反映されるので混乱を来さない。
っても、その編集内容が適切に流通しているソースモジ
ュールに反映されるので混乱を来さない。
【0016】
【実施例】次に、本発明の実施例について図面を参照し
て説明する。
て説明する。
【0017】図1は本発明のリビジョン管理方法の実施
例が適用されるプログラム開発用ネットワークの構成ブ
ロック図、図2は図1のリビジョン管理方法の第1実施
例の手順のフローチャート、図3は図2のリビジョン管
理方法における、個別編集および流通用ブランチを示す
概念図である。
例が適用されるプログラム開発用ネットワークの構成ブ
ロック図、図2は図1のリビジョン管理方法の第1実施
例の手順のフローチャート、図3は図2のリビジョン管
理方法における、個別編集および流通用ブランチを示す
概念図である。
【0018】このリビジョン管理方法の実施例が適用さ
れるプログラム開発用ネットワークはサーバマシン1と
クライアントマシン81 ,82 とネットワーク16とか
らなっている。ここで、複数のソースモジュールからな
る生産物の作成を担当している者の集まりをグループと
呼ぶこととして、このプログラム開発用ネットワークで
は、2つのグループA,Bがクライアントマシン81 ,
82 を使用して共同してプログラムの開発に当ってい
る。
れるプログラム開発用ネットワークはサーバマシン1と
クライアントマシン81 ,82 とネットワーク16とか
らなっている。ここで、複数のソースモジュールからな
る生産物の作成を担当している者の集まりをグループと
呼ぶこととして、このプログラム開発用ネットワークで
は、2つのグループA,Bがクライアントマシン81 ,
82 を使用して共同してプログラムの開発に当ってい
る。
【0019】サーバマシン1はソースモジュールを管理
するマシンであって、記憶装置2と管理機構3とファイ
ル共有機構6と通信機構7を備え、記憶装置2は版数管
理ファイル原本4と作業用ファイル5を備えている。版
数管理ファイル原本4にはグループ対応の領域としてA
グループ用領域41A,Bグループ用領域41Bが設け
られ、各領域41A,41Bには、当該グループが開発
担当しているソースモジュールに対応して版(リビジョ
ン)管理ファイル41A1,41A2,41A3および
41B1,41B2,41B3が格納されている。
するマシンであって、記憶装置2と管理機構3とファイ
ル共有機構6と通信機構7を備え、記憶装置2は版数管
理ファイル原本4と作業用ファイル5を備えている。版
数管理ファイル原本4にはグループ対応の領域としてA
グループ用領域41A,Bグループ用領域41Bが設け
られ、各領域41A,41Bには、当該グループが開発
担当しているソースモジュールに対応して版(リビジョ
ン)管理ファイル41A1,41A2,41A3および
41B1,41B2,41B3が格納されている。
【0020】作業用ファイル5には、Aグループ作業領
域(その1)51A1、Aグループ作業領域(その2)
51A2,・・・・、Bグループ作業領域(その1)5
1B1、・・・・が設けられ、改版等の編集作業に使用
される。このグループ作業領域は1グループについて1
つあるいは複数個存在する。管理機構3は版名付与部3
1とソース取得部32と並行編集状態監視部33とブラ
ンチ生成部34とサーチ機構35とを備えている。版名
付与部31はソースモジュールへ版名(タグ)を付与す
る。ソース取得部32は版数管理ファイル原本4中のソ
ースモジュールを取り出す。並行編集状態監視部33は
終端していない並行試験版の監視を行なう。ブランチ生
成部34は版名(タグ)をブランチ全体に付与してブラ
ンチを生成する。サーチ機構35は作業用ファイル12
にあるソースモジュールを比較し、変更差分と関数ブロ
ックの位置の抽出等を行なう。通信機構7はネットワー
ク16を介してクライアントマシン81 ,82 との通信
を行なう。
域(その1)51A1、Aグループ作業領域(その2)
51A2,・・・・、Bグループ作業領域(その1)5
1B1、・・・・が設けられ、改版等の編集作業に使用
される。このグループ作業領域は1グループについて1
つあるいは複数個存在する。管理機構3は版名付与部3
1とソース取得部32と並行編集状態監視部33とブラ
ンチ生成部34とサーチ機構35とを備えている。版名
付与部31はソースモジュールへ版名(タグ)を付与す
る。ソース取得部32は版数管理ファイル原本4中のソ
ースモジュールを取り出す。並行編集状態監視部33は
終端していない並行試験版の監視を行なう。ブランチ生
成部34は版名(タグ)をブランチ全体に付与してブラ
ンチを生成する。サーチ機構35は作業用ファイル12
にあるソースモジュールを比較し、変更差分と関数ブロ
ックの位置の抽出等を行なう。通信機構7はネットワー
ク16を介してクライアントマシン81 ,82 との通信
を行なう。
【0021】クライアントマシン81 ,82 はそれぞれ
通信機構91 ,92 とファイル共有機構101 ,102
と記憶装置111 ,112 と登録機構131 ,132 と
参照機構141 、142 とブランチ選択機構151 ,1
52 とを備え、記憶装置11 1 ,112 はそれぞれ作業
用ファイル121 ,122 を備えている。作業用ファイ
ル121 にはAグループ作業領域(その1)121A
1、Aグループ作業領域(その2)121A2,・・・
が設けられ、作業用ファイル122 には、Bグループ作
業領域(その1)121B1,・・・が設けられてい
る。
通信機構91 ,92 とファイル共有機構101 ,102
と記憶装置111 ,112 と登録機構131 ,132 と
参照機構141 、142 とブランチ選択機構151 ,1
52 とを備え、記憶装置11 1 ,112 はそれぞれ作業
用ファイル121 ,122 を備えている。作業用ファイ
ル121 にはAグループ作業領域(その1)121A
1、Aグループ作業領域(その2)121A2,・・・
が設けられ、作業用ファイル122 には、Bグループ作
業領域(その1)121B1,・・・が設けられてい
る。
【0022】クライアントマシン81 ,82 はそれぞれ
通信機構91 ,92 によってネットワーク16を介して
サーバマシン1と通信し、ファイル共有機構101 ,1
02とサーバマシン1のファイル共有機構6とによっ
て、サーバマシン1の作業用ファイル5はクライアント
マシン81 ,82 の作業用ファイル121 ,122 の部
分と情報を共有している。つまり、ファイル共有機構6
および101 ,102 は、サーバマシン1の記憶装置2
内の作業用ファイル5の実体を、あたかもクライアント
マシン81 ,82 の記憶装置内の作業用ファイル12
1 ,122 があるかのように見せ、リアルタイムに情報
を共有する機能をもっている。
通信機構91 ,92 によってネットワーク16を介して
サーバマシン1と通信し、ファイル共有機構101 ,1
02とサーバマシン1のファイル共有機構6とによっ
て、サーバマシン1の作業用ファイル5はクライアント
マシン81 ,82 の作業用ファイル121 ,122 の部
分と情報を共有している。つまり、ファイル共有機構6
および101 ,102 は、サーバマシン1の記憶装置2
内の作業用ファイル5の実体を、あたかもクライアント
マシン81 ,82 の記憶装置内の作業用ファイル12
1 ,122 があるかのように見せ、リアルタイムに情報
を共有する機能をもっている。
【0023】クライアントマシン81 ,82 の登録機構
131 ,132 にはソースモジュール管理を実現するた
めの登録の手順が実装されている。また、参照機構14
はサーバマシン1の版数管理ファイル原本4内の情報を
取り出す。ブランチ選択機構151 ,152 は具備され
ているインタフェースを介してサーバマシン1のソース
取得32に対してユーザーがブランチの終端を要求する
ソースモジュールを登録させる。
131 ,132 にはソースモジュール管理を実現するた
めの登録の手順が実装されている。また、参照機構14
はサーバマシン1の版数管理ファイル原本4内の情報を
取り出す。ブランチ選択機構151 ,152 は具備され
ているインタフェースを介してサーバマシン1のソース
取得32に対してユーザーがブランチの終端を要求する
ソースモジュールを登録させる。
【0024】次に、本発明の版管理方法の第1実施例を
Aグループのaソースモジュールを、編集等を行なうユ
ーザーが、クライアントマシン81 上のAグループ作業
領域(その1)121上からサーバマシン1に登録する
場合について説明する。
Aグループのaソースモジュールを、編集等を行なうユ
ーザーが、クライアントマシン81 上のAグループ作業
領域(その1)121上からサーバマシン1に登録する
場合について説明する。
【0025】ユーザーは参照機構14を使ってAグルー
プ作業領域(その1)51A1に特定の版のソースモジ
ュールa1 をもってくる。次に、ユーザーは、周知の編
集機能(例えば、エディタ)でソースモジュールa1 を
編集する。
プ作業領域(その1)51A1に特定の版のソースモジ
ュールa1 をもってくる。次に、ユーザーは、周知の編
集機能(例えば、エディタ)でソースモジュールa1 を
編集する。
【0026】ユーザーは、Aグループ作業領域(その
1)121Aにあるソースモジュールを登録するため
に、登録機構13に対して登録要求を出す。このとき、
登録するファイル名、登録の種別(流通/個別編集)を
指定する。クライアントマシン8は、サーバマシン1の
記憶装置2の版数管理ファイル原本4を確認しており、
通信機構7,9経由でサーバマシン1のAグループ用領
域41AにAグループ作業領域(その1)121Aのソ
ースモジュールを登録する。登録されるソースモジュー
ルに対して付されるリビジョンは、登録の種別によって
異なる。
1)121Aにあるソースモジュールを登録するため
に、登録機構13に対して登録要求を出す。このとき、
登録するファイル名、登録の種別(流通/個別編集)を
指定する。クライアントマシン8は、サーバマシン1の
記憶装置2の版数管理ファイル原本4を確認しており、
通信機構7,9経由でサーバマシン1のAグループ用領
域41AにAグループ作業領域(その1)121Aのソ
ースモジュールを登録する。登録されるソースモジュー
ルに対して付されるリビジョンは、登録の種別によって
異なる。
【0027】図2は登録の種別に対する版(リビジョ
ン)付与の例を示しており、同図における1.2,1.
1.2.1等は登録版(リビジョン)名である。ここ
で、ツリー状に並列に管理されている版(リビジョン)
は大きく2種類に分類されている。1つは個別編集用の
枝(ブランチ)であり、他の1つは流通用ブランチ群で
ある。
ン)付与の例を示しており、同図における1.2,1.
1.2.1等は登録版(リビジョン)名である。ここ
で、ツリー状に並列に管理されている版(リビジョン)
は大きく2種類に分類されている。1つは個別編集用の
枝(ブランチ)であり、他の1つは流通用ブランチ群で
ある。
【0028】このリビジョン管理方法では、図2に示す
ように、ユーザーはまず、ソースモジュールの編集等の
作業を行ない(ステップ51)、編集作業を行なったソ
ースモジュールを個別編集用の枝に登録する(ステップ
52)。そして当該ソースモジュールが共同作業を行な
っている他のユーザー(この場合はBグループ)に流通
可能な状態であるかを判断し(ステップ53)、流通可
能な状態になるまで、編集、個別編集用の枝への登録を
繰り返し、版を重ねていく(図2では、1.1.2.
1,1.1.2.3,1.1.2.4がこれに相当す
る)。そして、流通可能な時点で、その版のソースモジ
ュールをステップ52において個別編集用の枝へ登録し
たまま、流通用ブランチ群に対して登録する(ステップ
54)。流通用ブランチ群のどの枝に登録するかは、流
通形態によって異なる。つまり、流通用ブランチの全て
のソースモジュールは、個別編集用の枝でユーザーが編
集等を行なったファイル以外は存在しない。これらの手
順は、登録機構13に実装されたプログラムにより実行
される。また、1.1.2.1,1.1.2.3,・・
・・・等は、)aグループを構成する複数のソースモジ
ュールに対して、ある時刻に横通しに付与した版名(タ
グ)を示す。つまり、このタグはaグループを構成する
ソースモジュール全体に対して付与された版数と言うこ
とができる。タグは、サーバマシン1の管理者、つま
り、リビジョン管理方法によって構築されたデータベー
スの管理者が、管理機構3の版名付与部31へタグ付け
を要求し、版名付与部31によって周知の方法によって
ソースモジュールへ付けられる。
ように、ユーザーはまず、ソースモジュールの編集等の
作業を行ない(ステップ51)、編集作業を行なったソ
ースモジュールを個別編集用の枝に登録する(ステップ
52)。そして当該ソースモジュールが共同作業を行な
っている他のユーザー(この場合はBグループ)に流通
可能な状態であるかを判断し(ステップ53)、流通可
能な状態になるまで、編集、個別編集用の枝への登録を
繰り返し、版を重ねていく(図2では、1.1.2.
1,1.1.2.3,1.1.2.4がこれに相当す
る)。そして、流通可能な時点で、その版のソースモジ
ュールをステップ52において個別編集用の枝へ登録し
たまま、流通用ブランチ群に対して登録する(ステップ
54)。流通用ブランチ群のどの枝に登録するかは、流
通形態によって異なる。つまり、流通用ブランチの全て
のソースモジュールは、個別編集用の枝でユーザーが編
集等を行なったファイル以外は存在しない。これらの手
順は、登録機構13に実装されたプログラムにより実行
される。また、1.1.2.1,1.1.2.3,・・
・・・等は、)aグループを構成する複数のソースモジ
ュールに対して、ある時刻に横通しに付与した版名(タ
グ)を示す。つまり、このタグはaグループを構成する
ソースモジュール全体に対して付与された版数と言うこ
とができる。タグは、サーバマシン1の管理者、つま
り、リビジョン管理方法によって構築されたデータベー
スの管理者が、管理機構3の版名付与部31へタグ付け
を要求し、版名付与部31によって周知の方法によって
ソースモジュールへ付けられる。
【0029】このリビジョン管理方法ではソースモジュ
ールを編集する際、流通可能な状態になったとき、個別
編集用の枝へ登録したまま、流通用ブランチ群へ登録す
るので、各ユーザーグループが編集したソースモジュー
ルの履歴が個別に保存され、身元が明確なソースモジュ
ールのみが流通される。
ールを編集する際、流通可能な状態になったとき、個別
編集用の枝へ登録したまま、流通用ブランチ群へ登録す
るので、各ユーザーグループが編集したソースモジュー
ルの履歴が個別に保存され、身元が明確なソースモジュ
ールのみが流通される。
【0030】本実施例のリビジョン管理方法は、ソース
モジュールの履歴が個別に保存され、かつ身元の明確な
ソースモジュールのみが流通するので、ソースモジュー
ルの組合せによる開発に混乱を生じない。
モジュールの履歴が個別に保存され、かつ身元の明確な
ソースモジュールのみが流通するので、ソースモジュー
ルの組合せによる開発に混乱を生じない。
【0031】次に、本発明のリビジョン管理方法の第2
実施例について説明する。
実施例について説明する。
【0032】図4は図1のリビジョン管理方法の第2実
施例の手順のフローチャート、図5は図4のリビジョン
管理方法における、並行試験版および共通版ブランチを
示す概念図である。
施例の手順のフローチャート、図5は図4のリビジョン
管理方法における、並行試験版および共通版ブランチを
示す概念図である。
【0033】本実施例のリビジョン管理方法は枝別れし
た流通用ブランチを収束する場合に適用される。
た流通用ブランチを収束する場合に適用される。
【0034】図5において、V5,V6,V7は、ある
グループを構成する複数のソースモジュールに対して、
ある時刻に横通しに付与された版名(タグ)を示してい
る。つまり、このタグはあるグループを構成するソース
モジュール全体に対して付与された版数を言うことがで
きる。タグは、前述したように、サーバマシン1の管理
者、すなわちこのリビジョン管理方法で構築されたデー
タベースの管理者が、管理機構3の版名付与部31へタ
グ付けを要求し、版名付与部31は周知の方法によって
ソースモジュールへ付与される。図5では、共通版のブ
ランチにあるV5から2つのブランチが生成されてい
る。つまり、タグの付いたソースモジュールに対して、
ユーザーはクライアントマシン8のブランチ選択機構1
5を参照し、並行に機能追加を行ないたい等の理由によ
って新たにブランチを生成したい場合、ブランチ選択機
構15に具備されているインタフェースから、通信機構
7,9を介して、サーバマシン1のブランチ生成部34
にブランチ生成を要求する。ブランチ生成部34は、ブ
ランチ選択機構15に具備されているインタフェ−スに
よって指定したタグをブランチ全体に付与してブランチ
を周知の方法によって作成する。このように生成された
ブランチを並行試験版と呼ぶ。
グループを構成する複数のソースモジュールに対して、
ある時刻に横通しに付与された版名(タグ)を示してい
る。つまり、このタグはあるグループを構成するソース
モジュール全体に対して付与された版数を言うことがで
きる。タグは、前述したように、サーバマシン1の管理
者、すなわちこのリビジョン管理方法で構築されたデー
タベースの管理者が、管理機構3の版名付与部31へタ
グ付けを要求し、版名付与部31は周知の方法によって
ソースモジュールへ付与される。図5では、共通版のブ
ランチにあるV5から2つのブランチが生成されてい
る。つまり、タグの付いたソースモジュールに対して、
ユーザーはクライアントマシン8のブランチ選択機構1
5を参照し、並行に機能追加を行ないたい等の理由によ
って新たにブランチを生成したい場合、ブランチ選択機
構15に具備されているインタフェースから、通信機構
7,9を介して、サーバマシン1のブランチ生成部34
にブランチ生成を要求する。ブランチ生成部34は、ブ
ランチ選択機構15に具備されているインタフェ−スに
よって指定したタグをブランチ全体に付与してブランチ
を周知の方法によって作成する。このように生成された
ブランチを並行試験版と呼ぶ。
【0035】このように、共通版のソースモジュールに
対して複数の並行試験版が生成された場合、それぞれ並
行試験版に対して盛り込まれた機能やバグ修正等の編集
内容が共通版に反映されなければならない。そこで次
に、並行試験版のブランチの編集内容を共通版のブラン
チへ反映させるためのブランチ管理方法について説明す
る。
対して複数の並行試験版が生成された場合、それぞれ並
行試験版に対して盛り込まれた機能やバグ修正等の編集
内容が共通版に反映されなければならない。そこで次
に、並行試験版のブランチの編集内容を共通版のブラン
チへ反映させるためのブランチ管理方法について説明す
る。
【0036】引き続き、図5を参照する。共通版のV5
からブランチした並行試験版に対して、そのブランチを
終端、つまり共通版へ内容が反映されたと見なすため
に、2つの方法がある。これらの方法は、図1の登録機
構13に具備される。
からブランチした並行試験版に対して、そのブランチを
終端、つまり共通版へ内容が反映されたと見なすため
に、2つの方法がある。これらの方法は、図1の登録機
構13に具備される。
【0037】方法1 ブランチ選択機構15に具備されているインタフェ−ス
を介して、ユーザーがブランチの終端を要求する。ブラ
ンチ選択機構15は、ソース取得32に対して、その時
点で最も新しいものあるいはブランチ選択機構15に具
備されているインタフェ−スで指定された版(リビジョ
ン)の共通版のソースモジュールを、終端しようとする
並行試験版のブランチに登録する。
を介して、ユーザーがブランチの終端を要求する。ブラ
ンチ選択機構15は、ソース取得32に対して、その時
点で最も新しいものあるいはブランチ選択機構15に具
備されているインタフェ−スで指定された版(リビジョ
ン)の共通版のソースモジュールを、終端しようとする
並行試験版のブランチに登録する。
【0038】この方法では、並行試験版の編集内容の共
通版への盛り込みの作業はユーザー依存になる。しか
し、一般的に大規模ソフトウェア開発プロセスではデー
タベース等へのソースモジュール登録前には必ず試験が
実施される。よって、上記方法を登録機構13に具備す
ることによって、並行試験版が増えていってしまう危険
を回避できる。
通版への盛り込みの作業はユーザー依存になる。しか
し、一般的に大規模ソフトウェア開発プロセスではデー
タベース等へのソースモジュール登録前には必ず試験が
実施される。よって、上記方法を登録機構13に具備す
ることによって、並行試験版が増えていってしまう危険
を回避できる。
【0039】方法2 ブランチ選択機構15に具備されているインタフェ−ス
を介して、ユーザーがブランチの終端を要求する。ブラ
ンチ選択機構15は、ソース取得32に対して、その時
点で最も新しい共通版ソースモジュールおよび最も新し
いタグ付けされた共通版ソースモジュールを、版数管理
ファイル原本4の当該グループ用領域から取り出す。
を介して、ユーザーがブランチの終端を要求する。ブラ
ンチ選択機構15は、ソース取得32に対して、その時
点で最も新しい共通版ソースモジュールおよび最も新し
いタグ付けされた共通版ソースモジュールを、版数管理
ファイル原本4の当該グループ用領域から取り出す。
【0040】次に、サーチ機構36が、作業用ファイル
12にあるソースモジュールと最も新しいタグ付けされ
た共通版ソースモジュール、および、最も新しい共通版
ソースモジュールと最も新しいタグ付けされた共通版ソ
ースモジュールを、それぞれ比較し、変更差分と関数ブ
ロックの位置を抽出する。その後、前者と後者の変更差
分と関数の位置を比較し、共通版の変更内容と並行試験
版の変更内容が関数単位で独立であるか否かを周知の方
法で比較する。もし、前者と後者で関数単位に編集内容
が独立していた場合、最も新しい共通版ソースモジュー
ルに対して、作業用ファイル12にあるソースモジュー
ルの編集内容を周知の方法でマージする。
12にあるソースモジュールと最も新しいタグ付けされ
た共通版ソースモジュール、および、最も新しい共通版
ソースモジュールと最も新しいタグ付けされた共通版ソ
ースモジュールを、それぞれ比較し、変更差分と関数ブ
ロックの位置を抽出する。その後、前者と後者の変更差
分と関数の位置を比較し、共通版の変更内容と並行試験
版の変更内容が関数単位で独立であるか否かを周知の方
法で比較する。もし、前者と後者で関数単位に編集内容
が独立していた場合、最も新しい共通版ソースモジュー
ルに対して、作業用ファイル12にあるソースモジュー
ルの編集内容を周知の方法でマージする。
【0041】この方法は、並行試験版の編集内容の共通
版への盛り込みそのものが自動的に行なわれる。しか
し、単に周知の方法で前述した2つのブランチの編集内
容をマージした場合、マージ後のソースモジュールの動
作が保障されない。そこで、サーチ機構35によってマ
ージの単位を関数対に限定し、マージによる副作用を回
避している。
版への盛り込みそのものが自動的に行なわれる。しか
し、単に周知の方法で前述した2つのブランチの編集内
容をマージした場合、マージ後のソースモジュールの動
作が保障されない。そこで、サーチ機構35によってマ
ージの単位を関数対に限定し、マージによる副作用を回
避している。
【0042】これら2つの方法はユーザーによって登録
機構13に登録要求をする際に選択される。
機構13に登録要求をする際に選択される。
【0043】図4のフローチャートは並行試験版編集お
よび改版からブランチ終端までの段階を示している。
よび改版からブランチ終端までの段階を示している。
【0044】ユーザーは、前述した並行試験版に対し
て、ソースモジュールの編集、登録を行なう(ステップ
61)。そののち、ユーザーが当該ソースモジュール並
行試験版を終端しようとするとき、前記の方法1あるい
は方法2を選択する(ステップ62)。
て、ソースモジュールの編集、登録を行なう(ステップ
61)。そののち、ユーザーが当該ソースモジュール並
行試験版を終端しようとするとき、前記の方法1あるい
は方法2を選択する(ステップ62)。
【0045】ユーザーが方法1を選択した場合、共通版
上の特定のファイルを並行試験版に登録する(ステップ
63)。そののち、並行試験版を終端した旨を並行編集
状態監視部33へ通知する(ステップ64)。
上の特定のファイルを並行試験版に登録する(ステップ
63)。そののち、並行試験版を終端した旨を並行編集
状態監視部33へ通知する(ステップ64)。
【0046】ユーザーが方法2を選択した場合、最新の
共通版ソースモジュールおよび最新のタグ付けされたソ
ースモジュールを取り出し(ステップ65)、それぞれ
のソースモジュールを並行試験版の最新版と比較し(ス
テップ66)、関数単位で編集内容が重複していないか
解析する(ステップ67)。もし重複している場合は、
並行試験版終端を拒否し(ステップ68)、終端処理を
中止する。重複していない場合は最新の共通版ソースモ
ジュールと最新の並行試験版ソースモジュールをマージ
する(ステップ69)。次に、マージしたファイルを共
通版の最新版として登録し(ステップ70)、最後に、
並行試験版を終端した旨を並行編集状態監視部33へ通
知する(ステップ71)。
共通版ソースモジュールおよび最新のタグ付けされたソ
ースモジュールを取り出し(ステップ65)、それぞれ
のソースモジュールを並行試験版の最新版と比較し(ス
テップ66)、関数単位で編集内容が重複していないか
解析する(ステップ67)。もし重複している場合は、
並行試験版終端を拒否し(ステップ68)、終端処理を
中止する。重複していない場合は最新の共通版ソースモ
ジュールと最新の並行試験版ソースモジュールをマージ
する(ステップ69)。次に、マージしたファイルを共
通版の最新版として登録し(ステップ70)、最後に、
並行試験版を終端した旨を並行編集状態監視部33へ通
知する(ステップ71)。
【0047】まだステップ70における終端がなされて
いない並行試験版は、データベース管理者が並行編集状
態監視部33により随時監視を行ない、長時に亘って残
存しているブランチの作成者に対して警告を発すること
ができる。
いない並行試験版は、データベース管理者が並行編集状
態監視部33により随時監視を行ない、長時に亘って残
存しているブランチの作成者に対して警告を発すること
ができる。
【0048】このリビジョン管理方法では、ユーザーが
同時に2つ以上の編集を同一のソースモジュールに対し
て実施する場合に円滑に実施ができるとともに、並行編
集の内容を共通版に適切に反映することができ、かつ、
並行編集の状態の監視ができる。
同時に2つ以上の編集を同一のソースモジュールに対し
て実施する場合に円滑に実施ができるとともに、並行編
集の内容を共通版に適切に反映することができ、かつ、
並行編集の状態の監視ができる。
【0049】本実施例のリビジョン管理方法は複数開発
者間でソースモジュールを分散して協調開発する場合、
並行編集による混乱を回避し、円滑な実施が可能とな
る。
者間でソースモジュールを分散して協調開発する場合、
並行編集による混乱を回避し、円滑な実施が可能とな
る。
【0050】
【発明の効果】以上説明したように本発明は、個別編集
ブランチへ登録されたソースプログラムが流通可能な状
態になったとき、そのまま、流通用ブランチ群へ登録す
ることにより、開発者が必要とするソースモジュールの
参照が確実に唯一の手順ででき、身元の明確なソースモ
ージュールのみが流通するので、ソースモジュールの開
発に混乱が回避できるという効果がある。
ブランチへ登録されたソースプログラムが流通可能な状
態になったとき、そのまま、流通用ブランチ群へ登録す
ることにより、開発者が必要とするソースモジュールの
参照が確実に唯一の手順ででき、身元の明確なソースモ
ージュールのみが流通するので、ソースモジュールの開
発に混乱が回避できるという効果がある。
【0051】また、共通版のブランチ中の特定版を並行
編集ブランチに登録して当該並行編集ブランチを終端す
る等により、ソースモジュールの共通版のブランチから
並行編集のブランチを伸ばしたとき、その編集内容が適
切に、全体に流通しているソースモジュールに反映され
て、整然とした並行編集が行なわれ、ソースモジュール
流通に混乱を来さないという効果がある。
編集ブランチに登録して当該並行編集ブランチを終端す
る等により、ソースモジュールの共通版のブランチから
並行編集のブランチを伸ばしたとき、その編集内容が適
切に、全体に流通しているソースモジュールに反映され
て、整然とした並行編集が行なわれ、ソースモジュール
流通に混乱を来さないという効果がある。
【図1】本発明のリビジョン管理方法の実施例が適用さ
れるプログラム開発用ネットワークの構成ブロック図で
ある。
れるプログラム開発用ネットワークの構成ブロック図で
ある。
【図2】図1のリビジョン管理方法の第1実施例の手順
のフローチャートである。
のフローチャートである。
【図3】図2のリビジョン管理方法における、個別編集
および流通用ブランチを示す概念図である。
および流通用ブランチを示す概念図である。
【図4】図1のリビジョン管理方法の第2実施例の手順
のフローチャートである。
のフローチャートである。
【図5】図4のリビジョン管理方法における、並行試験
版および共通版ブランチを示す概念図である。
版および共通版ブランチを示す概念図である。
【図6】リビジョン管理方法の従来例の概念図である。
1 サーバマシン 2,111 ,112 記憶装置 3 管理機構 4 版数管理ファイル原本 41A Aグループ用領域 41A1,41A2,41A3 版管理ファイル 41B Bグループ用領域 41B1,41B2,41B3 版管理ファイル 5,12 作業用ファイル 51A1,121A1 Aグループ作業領域(その
1) 51A2,121A2 Aグループ作業領域(その
2) 51B1,121B1 Bグループ作業領域(その
1) 6,101 ,102 ファイル共有機構 7,91 ,92 通信機構 81 ,82 クライアントマシン 131 ,132 登録機構 141 ,142 参照機構 151 ,152 ブランチ選択機構 16 ネットワーク 1.1,1.2,〜1.4,1.1.2.1,1.1.
2.2,〜1.1.2.5 リビジョン V5,V6,V7 版名
1) 51A2,121A2 Aグループ作業領域(その
2) 51B1,121B1 Bグループ作業領域(その
1) 6,101 ,102 ファイル共有機構 7,91 ,92 通信機構 81 ,82 クライアントマシン 131 ,132 登録機構 141 ,142 参照機構 151 ,152 ブランチ選択機構 16 ネットワーク 1.1,1.2,〜1.4,1.1.2.1,1.1.
2.2,〜1.1.2.5 リビジョン V5,V6,V7 版名
Claims (2)
- 【請求項1】 プログラムを構成する複数のソースモジ
ュールをモジュール単位で保持する版数管理原本記憶領
域を備えるサーバマシンと、前記サーバマシンの版数管
理原本記憶領域へ前記ソースモジュールのリビジョンを
登録するための登録機構を備え、複数のユーザーグルー
プが共同して使用する複数のクライアントマシンとを有
するプログラム開発用ネットワークにおける、前記ソー
スモジュールのリビジョン管理方法において、 前記登録機構により前記サーバマシンの版数管理原本記
憶領域へソースモジュールのリビジョンを登録する場
合、ソースモジュールの個別編集を行なって個別編集ブ
ランチへ登録することを繰り返したのち、当該ソースモ
ジュールが他のユーザグループに対して流通可能な状態
になったとき、個別編集ブランチへ登録したまま、流通
用ブランチ群へ登録する段階を有することを特徴とする
リビジョン管理方法。 - 【請求項2】 前記サーバマシンの版数管理原本記憶領
域へソースモジュールのリビジョンを登録する場合で、
ソースモジュールの共通版のブランチから並行編集ブラ
ンチを伸ばしたとき、 共通版のブランチ中の特定版を当該並行編集ブランチに
登録し、それをもって当該並行編集ブランチを終端し、
あるいは、 最新の公開版である旨のタグを付けられた版から最新の
共通版までの差分と、最新の公開版である旨のタグを付
けられた版から最新の並行編集版までの差分とを関数単
位に比較し、編集内容が重複しない場合に最新の共通版
と最新の並行編集版とをマージし、当該並行編集ブラン
チを終端する段階と、 終端していない並行編集ブランチの有無を確認する段階
とを有することを特徴とする請求項1記載のリビジョン
管理方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5199642A JPH0756721A (ja) | 1993-08-11 | 1993-08-11 | リビジョン管理方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5199642A JPH0756721A (ja) | 1993-08-11 | 1993-08-11 | リビジョン管理方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0756721A true JPH0756721A (ja) | 1995-03-03 |
Family
ID=16411249
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5199642A Pending JPH0756721A (ja) | 1993-08-11 | 1993-08-11 | リビジョン管理方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0756721A (ja) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH11306004A (ja) * | 1998-04-22 | 1999-11-05 | Nec Corp | プログラムライブラリ管理システム |
| JP2002099419A (ja) * | 2000-09-25 | 2002-04-05 | Sony Corp | ソフトウエアのバージョン管理方法及びバージョン管理システム |
| JP2003108720A (ja) * | 2001-09-26 | 2003-04-11 | Ricoh Co Ltd | ワークフロー支援システム、ワークフロー支援方法、ワークフロー支援プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体 |
| US9646030B2 (en) | 2013-03-28 | 2017-05-09 | Fujitsu Limited | Computer-readable medium storing program and version control method |
| JP7539593B1 (ja) * | 2023-06-20 | 2024-08-23 | 三菱電機株式会社 | プログラム可能機器、バージョン管理方法及びプログラム |
-
1993
- 1993-08-11 JP JP5199642A patent/JPH0756721A/ja active Pending
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH11306004A (ja) * | 1998-04-22 | 1999-11-05 | Nec Corp | プログラムライブラリ管理システム |
| JP2002099419A (ja) * | 2000-09-25 | 2002-04-05 | Sony Corp | ソフトウエアのバージョン管理方法及びバージョン管理システム |
| JP2003108720A (ja) * | 2001-09-26 | 2003-04-11 | Ricoh Co Ltd | ワークフロー支援システム、ワークフロー支援方法、ワークフロー支援プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体 |
| US9646030B2 (en) | 2013-03-28 | 2017-05-09 | Fujitsu Limited | Computer-readable medium storing program and version control method |
| JP7539593B1 (ja) * | 2023-06-20 | 2024-08-23 | 三菱電機株式会社 | プログラム可能機器、バージョン管理方法及びプログラム |
| WO2024261848A1 (ja) * | 2023-06-20 | 2024-12-26 | 三菱電機株式会社 | プログラム可能機器、開発装置、バージョン管理システム、バージョン管理方法及びプログラム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11386077B2 (en) | System and method for building business service model | |
| US7580946B2 (en) | Smart integration engine and metadata-oriented architecture for automatic EII and business integration | |
| CN114741375B (zh) | 一种多源异构数据库快速自动数据迁移系统及方法 | |
| US8683488B2 (en) | System and method for automatically generating computer code for message flows | |
| CN110659018B (zh) | 一种流程引擎实现方法及装置 | |
| CN109101373A (zh) | 基于订阅/发布模式的通用测试平台 | |
| US9110712B2 (en) | Method for encapsulating logical units of work using business objects | |
| US20070282470A1 (en) | Method and system for capturing and reusing intellectual capital in IT management | |
| CN106384283A (zh) | 一种基于互联网+的服务总线结构及服务总线系统 | |
| CN119440517A (zh) | 一种业务执行流程的编排方法及装置 | |
| US20020111840A1 (en) | Method and apparatus creation and performance of service engagement modeling | |
| JPH0756721A (ja) | リビジョン管理方法 | |
| CN109741820A (zh) | 医学设备操作页面的配置方法、装置、医学设备及计算机存储介质 | |
| CN121151469A (zh) | 面向资源调度高并发场景的标准化即时响应系统及方法 | |
| KR102668341B1 (ko) | 인터페이스 관리 방법, 인터페이스 거버넌스 시스템, 및 인터페이스를 관리하는, 컴퓨터로 실행가능한 프로그램을 저장하는 저장매체 | |
| CN114356314B (zh) | 应用构建方法、系统、电子设备及存储介质 | |
| CN118626056A (zh) | 一种业务服务生成方法及装置 | |
| CN115858352A (zh) | 云挡板测试系统调用系统及方法 | |
| CN116126619A (zh) | 数据库节点信息的处理方法及装置 | |
| JP3698021B2 (ja) | 広域分散資産版管理システム、広域分散資産版管理方法、記録媒体 | |
| CN113656095B (zh) | 配置数据的处理方法及装置 | |
| CN115129424B (zh) | 一种数据资产管理平台及其方法 | |
| CN116185385B (zh) | 一种可视化接口管理方法、系统、终端及存储介质 | |
| CN118170853B (zh) | 农业大数据的管理方法、装置、电子设备和存储介质 | |
| KR100456631B1 (ko) | 객체지향 프로그래밍 시스템의 설계 모델 적용장치와 그적용방법 및 이에 관련된 프로그램의 기록매체 |