読者です 読者をやめる 読者になる 読者になる

Subversion 1.7 リリース 気になったところまとめ

Subversionの1.7がリリースされたので

Apache Subversion 1.7 Release Notes
http://subversion.apache.org/docs/release-notes/1.7.html

の気になるところだけ抜き出して要点まとめてみました。
変な所があればこそっと教えてください・・・



*1 上書きインストールで良いのか試さないと不安
*2 svn upgrade のこと?


Subversion1.7 リリース
=========================

1.7互換性関連
---------------

  + 1.6以前のサーバーやクライアントと互換性あり
  + 1.7の新機能については1.6以前のサーバーとクライアントでは動作しない
  + 1.7を利用する際に1.6以前で作ったリポジトリを捨てたり再構築する必要はない
  + インストールされた既存のサーバーを更新するためには, 
    新しいライブラリとバイナリを上書きインストールすれば良い(*1)
  + 1.7は1.6のリポジトリと同じ構造なので, リポジトリの変更なしに
    シームレスにアップグレード/ダウングレードが可能(1.6と1.7間のみ)
  + 上記の場合に1.7の新機能を使っていて1.6へダウングレードすると
    新機能は無効になる
  + 1.7のクライアントは新しいワーキングコピーの構造を利用するので,
    1.6以前のワーキングコピーを利用することができない
  + 1.6以前のクライアントで作成したワーキングコピーは
    1.7のクライアントで利用する前に更新する必要がある(*2)
  + Subversion1.7 は新しく機能追加は行うが古い API/ABI を保持し,
    決して削除することはない
  + 以前の Subversion の API で書かれたライブラリは, 
    1.7でもコンパイル・利用することが可能
  + 逆に1.7の API で書かれたライブラリはコンパイル・利用不可能
  + バグがあり改善や取り除く必要のある場合に,
    古い(1.6以前の) API がリリース後に少し修正される可能性がある
  + 上記変更の場合の影響の詳細について"API errata"を参照すること

1.7新機能
-----------

  + ワーキングコピー(作業コピー)のメタデータ管理方法変更

    + メタデータ管理ディレクトリの集中化

      + これまですべての管理ディレクトリにあった".svn"を廃止
      + ルートディレクトリに1つだけ".svn"を作成
      + SQLiteベースのメタデータ管理方式

    + 変更の無いファイルの管理方法変更

      + text-bases と呼ばれていたものから "Pristine" へ名前変更
      + 定期的に svn cleanup することで必要な容量を少なくすることができる

  + より簡潔なHTTPプロトコルを利用したことで通信のパフォーマンス向上)

      + 1.7 -> 1.7 は新プロトコル使用
      + 1.7 -> 1.6 は旧プロトコル使用
      + 1.6 -> 1.7 は旧プロトコル使用

  + svn patch 機能追加

      + unidiff 形式の パッチファイルを
        ワーキングコピーに当てることが可能に


1.7改善点・バグ修正
--------------------

  + コマンドラインクライアント機能追加

    + svn log でDiffを表示
    + svn relocate コマンド追加
    + 他多数

  + マージ追跡機能の向上
  + サーバー設定機能の向上
  + 他APIの修正向上やバグ修正などなど