Apache Subversion Apache Subversionの概要

Apache Subversion

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/07/21 17:11 UTC 版)

ナビゲーションに移動 検索に移動
Subversion
作者 CollabNet
開発元 Apacheソフトウェア財団
初版 2000年10月20日(19年前) (2000-10-20
最新版 1.14.0 / 2020年5月27日(55日前) (2020-05-27[1]
リポジトリ svn.apache.org/repos/asf/subversion/
プログラミング言語 C
対応OS クロスプラットフォーム
サポート状況 開発中
種別 バージョン管理ソフトウェア
ライセンス Apache License
公式サイト subversion.apache.org
テンプレートを表示

概要

歴史的には広く使われているバージョン管理システムの一つにCVSがあった。CVSにはディレクトリの移動の管理やネットワーク対応の点、不可分な更新などの点で難があった。これらCVSの問題点を解決すべく開発されたのがSubversionである。

Subversionは集中型(クライアント・サーバ型)であるが、その後、GitMercurialBazaarなどの分散型のバージョン管理システムが登場するようになった。例えば、Linuxカーネルの管理にはGit、Mozilla Firefoxの管理にはMercurial、MySQLの管理にはBazaarが使われている。

特徴

Subversionの使い方はCVSによく似ている。コマンドラインで使用する際の主要なコマンド名はCVSと一致するように作られているため、クライアントはCVSからの移行がきわめて容易である。

  1. ディレクトリの移動や削除をサポートしている。このため、ファイル名やソースツリーの構造がはっきりと決まらないうちからバージョン管理をすることができる。
  2. バージョン番号(リビジョン番号)はソースツリー全体に対して振られるため、原則としては誰かがソースツリーのどこかのファイルを更新する度に番号が増えてゆく。(CVSではファイル毎にリビジョン番号がつけられている。)
  3. 作業ディレクトリ内に、最後にソースリポジトリと同期をとったときのファイルのコピーを持っているため、改編中のファイルの変更部の確認などがソースリポジトリにアクセスする事無く高速に実行できる[要出典]。また、ファイルの差分送信が効率よく行なわれるため、プアなネットワーク環境で利用したときに快適である。
  4. SSHによるソースリポジトリとの通信を標準でサポートしている。インターネット経由で利用してもセキュリティを容易に保つ事ができる。
  5. WebDAVをバックエンドとして使うことができる。つまり、Apache HTTP ServerなどのWebDAVをサポートするHTTPサーバを経由して、WebDAVプロトコルを用いてSubversionサーバとSubversionクライアントが通信するという形態が使える。

一方で CVS における module, branch, tag といった概念が Subversion では全てサブディレクトリとして設計されているので、これらの扱いは CVS とはまったく違う考え方を要する。

  1. CVS では <モジュール名>/<サブディレクトリ名>/.../<ファイル名> だが、Subversion では <サブディレクトリ名>/.../<ファイル名> となる。下記の2つのコマンドはほぼ同等の処理を行う。
    • cvs -d:some_repository checkout -d aSubdir aModule/aDir/aSubdir
    • svn co some_repository/aModuleDir/aDir/aSubdir
  2. CVS では tag や branch が各ファイル毎に管理されるが、Subversion では「別ディレクトリ/ファイルへのコピー」で管理される。
    • cvs tag aTagName aSubdir
    • svn copy aSubdir aSubdir_aTagName
  3. CVS の merge はタグ名が使えるのに対し、Subversion の merge はリビジョン番号や日付などで指定する。
  4. 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の他、以下のものがある。




  1. ^ Apache Subversion News Archives”. 2020年6月4日閲覧。


「Apache Subversion」の続きの解説一覧



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Apache Subversion」の関連用語

Apache Subversionのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Apache Subversionのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのApache Subversion (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2024 GRAS Group, Inc.RSS