|
俺が知る中で最高にいかしたSCM、Subversionの1.4.0がリリースされている。今回は1.3系からのメジャーバージョンアップ、ということで新機能も追加されているようなので、幾分まじめにRelease Notesを読んでみた。英語に明るくないので、大嘘付いてるかもしれない。 SubmergedというWebCastを提供しているので、英語に堪能な人はそちらを見るとわかりやすいかも? 1.4は、1.3系のリポジトリとの下位互換を保っているので、ダンプ、リポジトリ作り直し、インポート、といった一連の移行作業を行わなくてもとりあえず動く。が、1.4で拡張された機能をちゃんと使おうと思うと、やっぱり移行作業が必要になる。 さて、何が変わったのか。 バイナリ差分アルゴリズムが改善された。最大50%のサイズ減になるそうだ。ディスク使用量も減るし、当然ながら通信量も減る。ただし、これを利用するには、リポジトリの作り直しが要求される。 Berkeley DB 4.4への対応。ついでに、auto-recoveryなる機能にも対応したという。よくわからないが、svnのプロセスが途中でクラッシュして、データがやばい状態になっても、勝手に復元してくれるらしい。"In theory (and in our testing), this new feature makes BerkeleyDB-based repositories just as wedge-proof as FSFS repositories."の、wedge-proofの意味がわからない。 作業コピーの性能改善。.svn/entriesは元々XMLファイルだったのだが、このフォーマットをプロパティみたいなのに変更して、その結果作業コピーにおけるいろいろな操作の処理速度が向上したらしい。この変更があるため、1.4系の作業コピーを1.3系のクライアントで利用することはできなくなる。さらに、1.3系作業コピーで1.4系クライアントを使うと、何の断りもなく勝手に中身を1.4仕様に書き換えてしまうので、注意が必要。 コマンドオプションの追加。svn blame, svn diff, svn mergeにいくつかのオプションが追加。svn blame --forceでバイナリファイルでも無理矢理blameできるようになった(嬉しいのか?)、svn diffとsvn mergeにdiff3プログラムを食わせられる、など。個人的に嬉しいのは、svn diff -x -bとか-x -wで空白文字を無視できるようになった点と、svn mergeやsvn diffに-c(--change)オプションを渡せるようになった点。r33での変更内容を知りたいとき、svn diff -r32:33とかしてたのを、svn diff -c33という風に簡単に書ける。 svnsyncコマンドの追加。複数のリポジトリ間で同期をとるためのユーティリティであるらしい。名前から想像がつくと思うが、rsyncと同じような使い方ができる。つまりバックアップするのに都合がよい。データのコミットは互換性の高いネットワークコマンドで行うので、コピー元のリポジトリはどのバージョンで作っても良い。 ごめん、これ逆。コピー先は古いバージョンのSVNサーバが上がっていてもいい、コピー元は1.4以降のサーバじゃないとダメ。 こいつでもう一個ぐらい記事書くかも。 あとめぼしいのは・・・svnserveがWindows Serviceで動くようになった、ぐらいか。 とにかく、パフォーマンス向上に力を入れたリリースであるようだ。今仕事で使っているSVNリポジトリが最近重たくなってきたし、入れ替えてもいいかもなぁ。 |
| << 前記事(2006/09/13) | トップへ | 後記事(2006/09/16)>> |
| タイトル (本文) | ブログ名/日時 |
|---|
| 内 容 | ニックネーム/日時 |
|---|
| << 前記事(2006/09/13) | トップへ | 後記事(2006/09/16)>> |