









[blog]
[ML]
[todo]
[CVS]
[bug]
[apache log]
[swiki log]
[statistics]
[map]
[man]
[info]
[アンテナ]
Subversion:概要

Subversionの現況
- 2001/11/28 現在のところマイルストーン6程度である。(Subversion 0.6)
- この後、Subversion 0.7, 0.8が年内にリリースされ、α、β版 1.0となる予定だ。(想像では、来年内には1.0がだせるか?)
- 2004/04/10 すでに 1.0リリース済み。結構メジャー化しだしている。まだまだ、改良ポイントはあるのだ。

SubversionにできてCVSにできないもの(特徴:内容は、2001年当時)
- 注意:これは仕様からみた情報なので、現状の実装がどのレベルであるかは知りません。
- ディレクトリ構成までも、リビジョン管理対象となる。(削除、作成、リネームなど)
- タグ付きや、ブランチ分け(済み)でも、一定の速度、一定の領域ディスク領域で動作。
- ネイティブなクラサバ構成(CVSの場合はあとづけだ–確かに...)
- 従って、CVSより管理がしやすい。(この管理とは、Subversionのソース自体の保守管理のことだ)
- i18nをサポートだ。
- l17nではない。i18nだ
- Unicodeを扱えるということだ。でも、FSがUnicodeをファイル名とかで認識できないと意味がないぞ!
- バイナリファイルの扱いがCVSよりよい。
- diffをクライアント側で変更できるみたい(プラグイン)
- conflictしたときの動作
- テキストファイルの場合、オリジナルとアップデートしたものと、マージしたものの3つのファイルを生成
- バイナリファイルの場合、オリジナルとアップデートしたものの2つのファイルを生成
- conflictを修正すると、これらのテンポラリファイルは、自動削除
- マージ用ツールは、プラグインでクライアント側で設定することが可能。
- チェックアウトすると、SVNという管理用ディレクトリが生成される
- リビジョン番号は、ファイルではなく、ディレクトリツリーに付与される(イメージだ)
- ファイル内容の変更の有無に関わらず、commit/updateするとそのツリーに、新規リビジョン番号が振られる。
- なので、ファイル内容に差異がなくとも、リビジョン番号の違うファイルが存在することとなる。
- 更新ロックはない。(すべて共有モード?だ)
- Subversionでは、confilictを安全に処理できる
- ロックは、1つのファイルを安全にできるが、ファイル間の関係を安全にはできない(ということもないと思うけど)
- (究極の理由はこれだと思う。)ロックした人が、解除を忘れると困るので...
- プロパティ
- Unixのファイルモードを設定したものを Winでチェックアウトしてコミットしたらどうなるか?
- Subversionでは、プロパティリストというものがあり、このプロパティにパーミッションが記録されているため、問題ない。
- プロパティは、キー/値のテキストで記録される、UTFも使用可能
- 勝手にプロパティを追加することが可能(但し、Name Space問題がでるので、URIをつけるべき)
- 当然、このプロパティリストも履歴管理対象だ
- WebDAV, DeltaVでサーバー/クライアントのやり取りをする
- 設計は、完全にレイヤーを意識しているため、各部を入れ替え可能だ。

今後の予定(らしい)の抜粋(内容は、2001年当時)
- CVSからSVNへのリポジトリ変換(これは、すぐにでも実装予定)
- Server Grep機能
- Smart Confilict Resolution( コンフリクトをファイルの種別によって、賢くマージ)
- サーバーミラーリング
- Inter-Repositry Communication
- SQLサポート(サーバーの格納方式、現状はバークレーDBMを使用)
- 電子署名サポート
- DTDサポート(Import/Exportに)
- SMTP(メールインターフェイス)のサポート

Link to this Page
- Subversion last edited on 22 August 2008 at 12:42 pm