Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
Subversion - Wikipedia
[go: Go Back, main page]

Subversion

出典: フリー百科事典『ウィキペディア(Wikipedia)』

Subversion
開発元: CollabNet, Inc.
最新版: 1.4.5 / 2007年8月27日
対応OS クロスプラットフォーム
種別: バージョン管理ソフトウェア
ライセンス Subversion License
公式サイト http://subversion.tigris.org/

Subversion(サブバージョン)はプログラムのソースコードなどを管理するバージョン管理システムの一つ。

目次

[編集] 概要

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

古くからオープンソースソフトウェアの開発においてはCVSが多く使われているが、最近ではSubversionを利用するオープンソースプロジェクトも急速に増えている。

なお、subversionという単語は、sub + versionではなく、「(国家や社会秩序を)破壊・転覆する」という意味のsubvertの名詞形である。

[編集] 特徴

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

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

[編集] クライアント

クライアントとしては、コマンドラインツールのsvnの他、以下の物がある。

Eclipseではプラグインをインストールすることでプロジェクトの管理をSubversionで行えるようになる。

その他、subversion.tigris.orgのクライアント一覧で見ることができる。

[編集] 使用例

コマンドラインから使うクライアント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

[編集] 関連項目

[編集] 外部リンク