Subversion(source)は、マチュアなオープンソースバージョンコントロールシステムであり、Apache Software Foundation、KDE、GNOME、Free Pascal、GCC、Python、Django、RubyおよびMonoを含む多くのオープンソースプロジェクトで使用されている。そのデベロッパが、バージョン1.5をリリースしたところである(source)。Subversionは、もともとはCVSに取って代わるものとして設計されたバージョン管理システムであるのだが、重要な制限があると感じている人が多くいる。
Subversionは、「ブランチモデル」戦争を引き起こしたが、実践者(source)によると(source)CVSに有意義な改善がおこなわれたということである。
- ディレクトリやファイルの名前変更:バージョンの追跡可能性を失くすことなく、ソースコードツリーの再構築が容易である。
- チェックアウトディレクトリは「クリーン」(CVSディレクトリはない)。
- ファイルのキャッシュが「未接続」状態でのアクションをさらに可能にする。
- アトミックコミット。
- ログパーコミット。
- 速度の改善。
- BIN(バイナリ)ファイルのより適切な操作。
- 積極的なデベロッパによるコミュニティ。
Subversionはネットワーク通信にHTTPベースのWebDAV/DeltaVプロトコルおよびApache Webサーバを使用し、リポジトリサイドのネットワークサービスを提供する。このことが、相互運用性という点で、CVSに対するSubversionの優 勢となり、重要機能を無償で提供している。それには認証、ワイヤー圧縮および基本リポジトリのブラウズなどがある。しかしながら、Subversionは カスタムプロトコルを使用した「svnserv」スタンドアロンサーバオプションを提供し、セキュアセルで結ばれる。オープンソースソフトウェアである が、商用サポート(source)が利用可能である。
Subversion Developer Intro(source)からの概要図
Version 1.5は、以下のような多くの新機能(source)がある。
- マージのトラッキング:マージされた修正内容およびマージされたブランチをユーザが確認することができる。その目的は、ブランチ間 (1.0、1.1および主開発)の修正を移行する際の作業を削減することである。
- まばらなチェックアウト:非常に大規模なソースツリーを持っているデベロッパが、マシンに対するコードのサブセットのみを取得することができる。
- インタラクティブな競合解決:コマンドラインクライアントでの競合解決のサポートおよびそのサポートを他のクライアントに公開しつつ、APIはフックする。
- 修正リストのサポート:デベロッパが、一連のファイルに単一の修正リストとして名前を付けることができる。これは、デベロッパが同時に複数の問題に取り掛かっている場合に便利である。
- コピーおよび移行操作の機能強化。
Subversion向けEclipseプラグインの新バージョン(Subclipse)(サイト・英語)もリリースされた。その他のクライアントには、 TortiseSVN (Windows Shell Extension)(サイト・英語)、RapidSVN (リッチクライアント)(サイト・英語)およびAnkhSVN(Visual Studioプラグイン)(サイト・英語)がある。
原文はこちらです: