| 開発者 | エレゴソフトウェアソリューションズ株式会社 |
|---|---|
| 初回リリース | 2002年8月 |
| 最終リリース | 1.0.3 / 2006年9月25日 |
| 書かれた | C |
| オペレーティング·システム | Unix系、Windows |
| タイプ | リビジョン管理 |
| ライセンス | GNU 一般公衆利用許諾書 |
| Webサイト | 出典: |
Distributed Concurrent Versions System ( DCVS ) は、ローカルに分散したサイトで作業するソフトウェア開発者がソフトウェア プロジェクトで効率的に共同作業できるようにする分散リビジョン コントロールシステムでした。DCVS は、よく知られているバージョン コントロール システムConcurrent Versions Systemをベースとしていました。コードは、GNU および BSD スタイルのライセンスの下で自由に配布可能でした。プロジェクトは 2023 年後半までに終了しました。
モチベーション
CVS は純粋な集中型組織モデルに基づいており、オフライン サポートはほとんど提供されていません。ほぼすべてのバージョン管理操作では、リポジトリへの直接アクセスが必要です。そのため、世界規模の分散型ソフトウェア開発作業では、CVS を使用するとパフォーマンスに大きな問題が生じます。DCVS は、中央の CVS リポジトリを多数のサイトに分散することで、この問題に対処します。
特徴
DCVS は CVS のすべての機能を提供します。ただし、CVS とは異なり、DCVS システムは地理的に分散した任意の数のリポジトリで構成できます。リポジトリの内容は、John D. Polstra が開発したプログラムであるCVSupの拡張バージョンによってバックグラウンドで均等に保持されます。以降の段落では、 DCVS リポジトリ、拡張CVSup サーバー、およびDCVS サーバー プログラムの組み合わせをDCVS サーバー と呼びます。
すべての開発ラインのすべてのコンテンツは、任意の DCVS サーバーから、開発者が所有するDCVS ワークスペースにチェックアウトできます。 diff、patch、log、annotateなど、リポジトリを変更しないすべての操作はCVS と同様に機能しますが、常にローカル リポジトリを使用するため、分散シナリオでははるかに高速です。 衝突やデータ損失を回避するために、各 DCVS サーバーには、担当する開発ライン (DCVS ブランチ) のセットが割り当てられます。 ブランチへの変更は、そのブランチを担当するサーバー上でのみチェックインできます。 開発ラインごとに変更を分離することで、変更を DCVS ネットワークに自動的に転送および配布できます。 ローカル DCVS サーバーが担当していない開発ラインの変更をコミットしたいユーザーは、新しい開発ライン (ブランチ) を作成し、その変更をコミットできます。 ローカル サーバーは、新しく作成された開発ラインに対して自動的に責任を持ちます。
一方、各開発者は、自分のローカル DCVS サーバーが担当していない開発ラインの変更をローカル開発ラインにマージできます。したがって、担当の DCVS サーバー上の開発者がマージ操作を実行することで、どの作業サイトで行われたすべての変更も元のブランチに適用できます。
変更セットの機能により、開発者は機能または欠陥に関連する小さな変更セットを作成し、それを他のユーザーが適用できるようになります。
特定の番号付けスキームにより、開発ラインとデルタが特定の DCVS サーバーに属するものとして識別されます。DCVS は、すべてのペア (サーバー/コレクション) に一意のブランチ番号の範囲を割り当てます。すべてのサーバーとコレクションのすべての範囲は、相互に排他的である必要があります。サーバー、コレクション、および範囲の定義は、単一の構成ファイルから読み取られます。このファイルの内容を参照することで、すべての DCVS サーバーは、特定のファイルの特定のブランチまたはデルタを担当するかどうかを判断できます。担当する場合は、すべての変更操作が許可されます。担当しない場合は、変更操作は適切なリモート サーバーでのみ可能です。
また、設定の実際の名前、つまりタグは、すべてのタグを拡張するサーバー固有のサフィックス (つまり、_at_dcvs_mydomain_org) によって、正確に 1 つの DCVS サーバーに一意に割り当てられます。したがって、タグの名前空間で競合が発生することはありません。
歴史
DCVS は、ドイツのベルリンにある Elego Software Solutions GmbH のチーム メンバーによって開発されました。DCVS の最初のリリースは 2002 年 8 月でした。2005 年 11 月にバージョン 1.0.2 がリリースされました。プロジェクトは 2023 年後半までに終了し、リポジトリは削除されました。
外部リンク
- 分散開発のための CVS (Elego)
- GNU 並行バージョンシステム
