subversion
「subversion」の意味・「subversion」とは
「subversion」は、英語の単語で、日本語では「破壊」「転覆」などと訳される。主に、既存の体制や秩序を内部から覆す、あるいはそのような行為を指す。政治的な文脈では、政府や制度を非合法的または秘密裏に転覆させる試みを指すことが多い。しかし、それは必ずしも政治的なものだけに限らず、組織や社会全般の秩序、あるいは思想や価値観など、広範な範囲で用いられる。「subversion」の発音・読み方
「subversion」の発音は、IPA表記では/sʌbˈvɜːrʒən/となる。IPAのカタカナ読みにすると「サブヴァージョン」となる。日本人が発音する際のカタカナ英語としては「サブヴァージョン」が近い。「subversion」の定義を英語で解説
「subversion」は、"the act of trying to destroy or damage an established system or government"と定義される。つまり、確立されたシステムや政府を破壊または損傷を与えようとする行為を指す。「subversion」の類語
「subversion」の類語としては、「undermining」、「sabotage」、「disruption」などがある。これらの単語も同様に、既存の体制や秩序を破壊するという意味合いを持つが、それぞれ微妙にニュアンスが異なる。「subversion」に関連する用語・表現
「subversion」に関連する用語としては、「subversive」がある。これは形容詞形で、「破壊的な」や「転覆させるような」といった意味を持つ。また、「subvert」は動詞形で、「破壊する」や「転覆させる」という意味になる。「subversion」の例文
1. The government accused him of subversion.(政府は彼を転覆行為の疑いで告発した。)2. They were arrested for their subversion of the state.(彼らは国家を転覆させる行為で逮捕された。)
3. The organization is charged with subversion.(その組織は転覆行為で告発されている。)
4. He was found guilty of subversion.(彼は転覆行為で有罪とされた。)
5. The subversion of the democratic system is a serious crime.(民主制度の転覆は重大な犯罪である。)
6. They were plotting the subversion of the government.(彼らは政府の転覆を企てていた。)
7. The subversion of traditional values is often criticized.(伝統的な価値観の転覆はしばしば批判される。)
8. The group was involved in the subversion of the regime.(そのグループは政権の転覆に関与していた。)
9. The act of subversion is punishable by law.(転覆行為は法律で罰せられる。)
10. The subversion of the system led to chaos.(システムの転覆が混乱を引き起こした。)
Subversion
CVSのバージョン管理モデルを踏襲しつつ、その不備と制約を解消するために、CollabNet社の主導の下にKarl FogelとJim Blandyによって開発されたバージョン管理システムの一種。
Subversionは、CVSに比べ、ファイルだけでなくディレクトリツリーの変化も追跡できること、ファイル名の変更などCVSでは扱いが難しかった変更に正確に追随すること、リポジトリ変更をアトミックに行うことでリポジトリの不整合発生の可能性がなくなったこと、バイナリファイルとテキストファイルを区別する必要がないこと、ブランチやタグの作成が効率化されたこと、プログラミング言語から利用しやすいAPIが整備されていることなどの点が改善されている。
関連見出し
バージョン管理システム
リポジトリ
チェックイン
チェックアウト
CVS
CollabNet
関連URL
subversion(http://subversion.tigris.org)

Subversion
別名:SVN
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となっている。
参照リンク
subversion.tigris.org - (英文)
開発環境: | リポジトリ リビルド SDK Subversion シンボリックデバッガ 条件コンパイル シングルステップ実行 |
Apache Subversion
![]() | |
作者 | 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ではファイル毎にリビジョン番号がつけられている。)
- 作業ディレクトリ内に、最後にソースリポジトリと同期をとったときのファイルのコピーを持っているため、改編中のファイルの変更部の確認などがソースリポジトリにアクセスする事無く高速に実行できる[要出典]。また、ファイルの差分送信が効率よく行なわれるため、プアなネットワーク環境で利用したときに快適である。
- SSHによるソースリポジトリとの通信を標準でサポートしている。インターネット経由で利用してもセキュリティを容易に保つ事ができる。
- WebDAVをバックエンドとして使うことができる。つまり、Apache HTTP ServerなどのWebDAVをサポートするHTTPサーバを経由して、WebDAVプロトコルを用いてSubversionサーバとSubversionクライアントが通信するという形態が使える。
一方で CVS における module, branch, tag といった概念が Subversion では全てサブディレクトリとして設計されているので、これらの扱いは CVS とはまったく違う考え方を要する。
- CVS では <モジュール名>/<サブディレクトリ名>/.../<ファイル名> だが、Subversion では <サブディレクトリ名>/.../<ファイル名> となる。下記の2つのコマンドはほぼ同等の処理を行う。
- cvs -d:some_repository checkout -d aSubdir aModule/aDir/aSubdir
- svn co some_repository/aModuleDir/aDir/aSubdir
- CVS では tag や branch が各ファイル毎に管理されるが、Subversion では「別ディレクトリ/ファイルへのコピー」で管理される。
- cvs tag aTagName aSubdir
- svn copy aSubdir aSubdir_aTagName
- CVS の merge はタグ名が使えるのに対し、Subversion の merge はリビジョン番号や日付などで指定する。
- Subversion の svn コマンドは同じ表記でリポジトリの直接操作とローカルマシンのワーキングコピーの操作を実現するので注意を要する。
- svn copy aSubdir anotherDir はワーキングコピーでの操作で, 次に svn commit を実行することでリポジトリに反映される。
- svn copy some_repository/.../aSubdir some_repository/.../anotherDir では直接リポジトリが変更される。
一般的なリポジトリ構成
一般に Subversion ではリポジトリの構成を以下のようにするのがよい、と提案されている。
- <project>/trunk/<subdir>/...
- <project>/branches/<branch>/<subdir>/...
- <project>/tags/<tag>/<subdir>/...
この場合 branch/tag を作成するのは以下のように、コピーするだけでよい。
svn copy some_repository/aProject/trunk some_repository/aProject/branches/aBranchName
クライアント
クライアントとしては、コマンドラインツールのsvn
の他、以下のものがある。
- Windows - TortoiseSVN(エクスプローラ拡張)
- macOS - SvnX, Versions なお、LeopardからSubversionは標準インストールされており、Subversionサーバも自動起動している。
- Linux - RabbitVCS
- KDE - KDESvn, KSvn
- GNOME
- クロスプラットフォーム - RapidSVN, pysvn WorkBench, eSvn, SmartSVN, QSvn
- Webアプリ - FlexySvn, Trac, ViewVC
- Java - SVNKit, NetBeans, sventon
- Eclipse - Subclipse, Subversive
- Visual Studio - AnkhSVN, VisualSVN
- IntelliJ IDEA - 標準搭載されている。もしくは、TMate
- Dreamweaver - 標準搭載されている。もしくは、SubWeaver
- Code::Blocks
- Xcode - 2011年3月にリリースされたXcode4より、gitとSubversionが、標準でサポートされた。
使用例
コマンドラインから使うクライアント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
脚注
- ^ “Apache Subversion News Archives”. 2025年2月5日閲覧。
関連項目
- CVS
- arch
- バージョン管理システム
- TortoiseSVN
- Subversion クライアントの比較 (英語版ウィキペディア)
外部リンク
- 公式ウェブサイト
- Subversionによるバージョン管理 - O'Reilly Mediaの本「Version Control with Subversion(svnbook)」をオンラインで読める公式ウェブサイト
- Subversionドキュメントのまとめ - 「Subversionによるバージョン管理」の日本語訳(HTML/PDF/HTML Help形式)
Subversion(サブバージョン)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2017/10/07 16:14 UTC 版)
「コラブネット」の記事における「Subversion(サブバージョン)」の解説
CVSのバージョン管理システムを踏襲しつつ、その不備と制約を解消するために、CollabNet社の主導の下にKarl FogelとJim Blandyによって開発されたバージョン管理システム。世界中で最も多く使われているバージョン管理システムである。
※この「Subversion(サブバージョン)」の解説は、「コラブネット」の解説の一部です。
「Subversion(サブバージョン)」を含む「コラブネット」の記事については、「コラブネット」の概要を参照ください。
固有名詞の分類
- Subversionのページへのリンク