Subversion 1.7.0 の個人的に気になる新機能まとめ

つい先日 Subversion 1.7.0-rc4 がリリースされて、それによると RC はこれが最後で、10/11 に最終版がリリースされるらしい。
せっかくなので Subversion 1.7.0 で個人的に気になってる新機能をまとめてみる。
実際に RC とか使ったわけではなくてドキュメント読んだだけなので、内容は保証しかねます。勘違いとかあるかも。ここに書いたのはほんの一部なので、正確な&詳しい内容はリリースノート見てください。

Apache Subversion 1.7 Release Notes
途中のようだけど翻訳も見つけたのでリンク貼っとく。
Apache Subversion 1.7 Release Notes 翻訳

WC-NG (Working Copy Next Generation)

作業ディレクトリの構造が変わる。最近流行りの分散型が取っている方法のように、作業ディレクトリのトップにだけ管理ディレクトリが作られるようになる。
正直これだけで移行する価値あると思うよ。.svn いっぱいありすぎて邪魔だし気軽にコピーできんし*1で不便だったけど、これでだいぶすっきりする。
ちなみに .svn の中身も SQLite ベースになるとかでだいぶ変わるらしいけど、ユーザが気にするところじゃないしどうでもいいね。

HTTPv2

Subversionsvn プロトコルより http プロトコルで使うことの方が多いと個人的には思ってるんだけど、この http のプロトコルが改善されるらしい。
v2 ってくらいだから相当良くなってるはず!

svn log --diff

log と diff を一緒に出力する。他の VCS ではよく使ってる機能なので、これないの地味に不便だったので助かる。

svn diff がプロパティの変更もunidiffで出力するように

そもそも今までunidiffじゃなかったのかと言う…。

svn diff --git

git スタイルの diff を出力する。

svnrdump

新しいコマンドラインツール。リモートのリポジトリに対して svnadmin dump できる。これを使えば、実質的な clone ができそう。まあ、元リポジトリへは反映できないわけだけど。

svn patch

パッチを当てる機能。ファイルの追加や削除もよろしくゴニョゴニョしてくれるらしい。

svn relocate

svn switch --relocate が独立しただけ。割とどうでもいいけど一応覚えておく。

Merge-Tracking Enhancements

マージトラッキング機能が強化されたらしい。うん。よくわかってない。

パフォーマンス

当然のごとくあちこちでパフォーマンスが改善されている。期待したいけど、真のパワーを発揮させるにはサーバも 1.7 にしないとダメだろうなぁ。



実のところ今はメインでは bzr-svn とか使ってたりするんだけど、参照だけするリポジトリなんかは svn 使ってたりしててまあまだ現役なので、リリースがちょっと楽しみ。バイナリはすぐ出てくれるかなぁ。

*1:export使えばいいってのはわかってます