Subversionとは、CollabNet Inc.によって開発され、オープンソースソフトウェアとして提供されているバージョン管理システムの名称である。
Subversionは、それまでオープンソースのバージョン管理システムとして事実上の標準(デファクトスタンダード)となっていたCVS(Concurrent Versions System)に代わる、次世代版バージョン管理システムとして登場した。CVSの長所を受け継ぎながら、逆にCVSの持つ不便な点や不具合の解消が図られている。システムの基本的な仕組みや操作についてはCVSと同じものが保持されており、CVSを使い慣れたユーザーも比較的違和感なくSubversionへ移行できるように図られている。
SubversionにおいてCVSから大きく変更された改善点の例としては、リビジョンの番号のつけ方が変わった点、メタデータを付与できるようになった点、HTTPの拡張プロトコルであるWebDAVをサポートしたことで、Webブラウザなどとの連携を図ることが可能になっている点、などを挙げることができる。
Subversionは、2000年に開発が始められた。2008年7月時点での最新バージョンは1.5.0となっている。
| 開発環境: | リポジトリ リビルド SDK Subversion シンボリックデバッガ 条件コンパイル シングルステップ実行 |
(Subversion から転送)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/02/15 16:52 UTC 版)
| |
|
| 作者 | CollabNet |
|---|---|
| 開発元 | Apacheソフトウェア財団 |
| 初版 | 2000年10月20日 |
| 最新版 |
1.14.5 / 2024年12月8日[1]
|
| リポジトリ | |
| プログラミング 言語 |
C |
| 対応OS | クロスプラットフォーム |
| サポート状況 | 開発中 |
| 種別 | バージョン管理ソフトウェア |
| ライセンス | Apache License |
| 公式サイト | subversion |
Apache Subversion(アパッチ・サブバージョン; SVN)はプログラムのソースコードなどを管理する集中型バージョン管理システムの一つ。元々は、CollabNetが開発していたが、2009年11月7日にApache Incubatorプロジェクトのひとつとなり、2010年2月17日よりApacheのトッププロジェクトとなった。ライセンスはApache Licenseに準じたものとなっている。
歴史的には広く使われているバージョン管理システムの一つにCVSがあった。CVSにはディレクトリの移動の管理やネットワーク対応の点、不可分な更新などの点で難があった。これらCVSの問題点を解決すべく開発されたのがSubversionである。
Subversionは集中型(クライアント・サーバ型)であるが、その後、GitやMercurialやBazaarなどの分散型のバージョン管理システムが登場するようになった。例えば、Linuxカーネルの管理にはGit、Mozilla Firefoxの管理にはMercurial、MySQLの管理にはBazaarが使われている。
Subversionの使い方はCVSによく似ている。コマンドラインで使用する際の主要なコマンド名はCVSと一致するように作られているため、クライアントはCVSからの移行がきわめて容易である。
一方で CVS における module, branch, tag といった概念が Subversion では全てサブディレクトリとして設計されているので、これらの扱いは CVS とはまったく違う考え方を要する。
一般に Subversion ではリポジトリの構成を以下のようにするのがよい、と提案されている。
この場合 branch/tag を作成するのは以下のように、コピーするだけでよい。
svn copy some_repository/aProject/trunk some_repository/aProject/branches/aBranchName
クライアントとしては、コマンドラインツールのsvnの他、以下のものがある。
コマンドラインから使うクライアントsvnの使用例
インポート
$ svn import project_name svn+ssh://dev.example.com/repos/svn/trunk
チェックアウト
$ svn checkout http://svn.collab.net/repos/svn/trunk
作業コピーの更新
$ svn update
作業コピーの状態の表示
$ svn status
変更点の差分を表示
$ svn diff
ファイル README への変更を破棄して元に戻す
$ svn revert README
foo を bar に移動
$ svn move foo bar
コミット
$ svn commit
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2017/10/07 16:14 UTC 版)
「コラブネット」の記事における「Subversion(サブバージョン)」の解説
CVSのバージョン管理システムを踏襲しつつ、その不備と制約を解消するために、CollabNet社の主導の下にKarl FogelとJim Blandyによって開発されたバージョン管理システム。世界中で最も多く使われているバージョン管理システムである。
※この「Subversion(サブバージョン)」の解説は、「コラブネット」の解説の一部です。
「Subversion(サブバージョン)」を含む「コラブネット」の記事については、「コラブネット」の概要を参照ください。
固有名詞の分類