japan.internet.com
テクノロジー2005年12月16日 09:00
文字サイズ文字サイズ小文字サイズ中文字サイズ大

svk - Subversion を用いた分散バージョン管理システム

この記事のURLhttp://japan.internet.com/webtech/20051216/6.html
著者:アリエル・ネットワーク
国内internet.com発の記事
Subversion は、 オープンソースのソースコードのバージョン管理システムとして多く利用されています。

svk は、 Subversion のファイルシステムを用いて、 分散バージョン管理システムの機能を提供しています。

Subversion のクライアントは、 リモートにある Subversion のサーバーとだけ、 データの同期をとることができます。 svk は、リモートの Subversion のリポジトリだけでなく、 CVS や Perfoce などの他のバージョン管理システムと同期することができます。

つまり、バックエンドのバージョン管理システムの違いを意識することなく、 複数のバージョン管理システムを統一的に扱うことができます。 また、ローカルにリポジトリを持つことで、 コミット権限のないリポジトリに対しても、 手元で行った変更などを履歴管理することができるようになります。

動作モデル

svk のサーバーは、各クライアント上で動作します。 ユーザーは、 ローカルで動作しているサーバーに対して svk のクライアントから操作を行います。 この点だけをみれば、 Subversion や CVS のサーバーがローカルで動作していて、 それらのリポジトリを subversion や cvs のクライアントで操作していること同じです。

svk のサーバーは、 さらに上位のバージョン管理システムのクライアントとしても動作します。 つまり、 本来のバージョン管理システムとクライアントの中間にsvkのクライアントが位置することで、 バージョン管理システムのミドルウェア的な存在になり、 各バージョン管理システムの違いを吸収します。

上位サーバーにコミット権限がある場合は、 svk のサーバーにコミットしたものは、 上位のサーバーにも反映されます。 上位サーバーへのコミット権限がない場合でも、 上位サーバーからのデータのミラーリングはできますが、 ローカルで行った変更は svk のサーバーにだけ反映されます。 svk の内部でも履歴管理が行われているため、 ファイルの履歴を参照したり、 古いバージョンのファイルに戻すことができるようになります。

メリット

アリエル・ネットワークでは、 最近のプロジェクトではバージョン管理システムに Subversion を使用しています。

しかし、古いプロジェクトでは、 プロジェクトの発足当時は Subversion がまだ安定していなかったため、 CVS を利用して、バージョン管理を行っています。

現状は、 Subversion と cvs の2つのバージョン管理システムを併用している状態です。 各クライアントで svk を動作させることで、 Subversion と cvs の2つのシステムの違いを意識することなくバージョン管理ができるようになります。

また、 自社開発のプロダクト以外にも、 多くのオープンソースのプロダクトを利用しています。

こうしたプロダクトには、 バージョン管理システムへのコミット権限を持っていません。 プロダクトをそのまま利用するだけなら特に問題は発生しませんが、 いくつかのプロダクトでは独自のパッチを作成していますが、 プロダクトのバージョンアップとパッチを当てたものの整合性を保つのは、 かなり大変な作業です。 こうした場面にも svk は威力を発揮することでしょう。 (執筆:大谷 弘喜)



japan.internet.comのウエブサイトの内容は全て、国際法、日本国内法の定める著作権法並びに商標法の規定によって保護されており、その知的財産権、著作権、商標の所有者はインターネットコム株式会社、インターネットコム株式会社の関連会社または第三者にあたる権利者となっています。
本サイトの全てのコンテンツ、テキスト、グラフィック、写真、表、グラフ、音声、動画などに関して、その一部または全部を、japan.internet.comの許諾なしに、変更、複製、再出版、アップロード、掲示、転送、配布、さらには、社内LAN、メーリングリストなどにおいて共有することはできません。
ただし、コンテンツの著作権又は所有権情報を変更あるいは削除せず、利用者自身の個人的かつ非商業的な利用目的に限ってのみ、本サイトのコンテンツをプリント、ダウンロードすることは認められています。

Copyright 2012 internet.com K.K. (Japan) All Rights Reserved.