TortoiseSVN Logo

TortoiseSVN 1.6 の新機能

TortoiseSVN 1.6 は、以前のすべての TortoiseSVN リリースのスーパーセットであり、現在の安定版および「最良」のリリースと見なされています。以前のバージョンに含まれるものはすべて 1.6 にも含まれていますが、1.6 には以前のリリースには存在しなかった機能とバグ修正が含まれています。

互換性に関する懸念

旧クライアントとサーバーは、1.6 サーバーおよびクライアントと透過的に相互運用できます。ただし、クライアントとサーバーの両方が最新バージョンでない限り、1.6 の新機能の一部は利用できない場合があります。また、新機能は動作するものの、クライアントが新しくサーバーが古い場合、効率が低下するケースもあります。

新機能の互換性表

新機能最低限必要なクライアント最低限必要なサーバー最低限必要なリポジトリ注記
ツリーコンフリクトの処理任意任意任意1.6 より古いサーバーを使用することも可能ですが、一部の種類のコンフリクトは検出されません。

ワーキングコピーとリポジトリファイルシステム形式の変更

ワーキングコピーの形式がアップグレードされました。これは、1.5 以前の Subversion クライアントは、Subversion/TortoiseSVN 1.6 で作成されたワーキングコピーを *使用できない* ことを意味します。ワーキングコピーは 自動的にアップグレードされます

ワーキングコピーのアップグレード

警告: Subversion 1.6 クライアントが 1.6 より前のワーキングコピーを検出した場合、ワーキングコピー形式に触れると *自動的に* アップグレードし、古い Subversion クライアントでは読み取れなくなります。マシン上で複数のバージョンの Subversion を使用している場合は、どのワーキングコピーでどのバージョンを使用するか注意して、ワーキングコピーを誤ってアップグレードしないようにしてください。

誤って 1.5 ワーキングコピーを 1.6 にアップグレードし、1.5 にダウングレードしたい場合は、change-svn-wc-format.py スクリプトを使用してください。詳細については、こちらの FAQ エントリ を参照し、使用方法については --help オプションを指定してスクリプトを実行してください。

新機能/機能強化

BDB リポジトリへの file:/// アクセス

TortoiseSVN 1.6 は、file:/// URL を介した BDB リポジトリへのアクセスをサポートしなくなりました。ただし、svn:// または http:// 経由での BDB リポジトリへのアクセスには影響しません。

file:/// URL 経由でまだアクセスしている BDB リポジトリがある場合は、svnadmin ツールを使用してリポジトリを FSFS 形式に変換する必要があります。このツールは、SVN コマンドラインクライアント で入手できます。

リポジトリを変換するには、Subversion book の 手順 に従ってください。

ツリーコンフリクトの処理の改善

Subversion 1.6 は、更新/マージ/スイッチ操作中にツリーコンフリクトを検出できます。これらの項目は、問題を示すためにコンフリクトとしてマークされます。

Subversion は依然として名前変更を「コピー+削除」操作として扱っているため、ツリーコンフリクトを引き起こすファイルの名前変更は、ファイルの追加と削除の観点からのみ検出できることに注意してください。このため、ツリーコンフリクト検出中に誤検出が発生する可能性があります。

TortoiseSVN 1.6 は、ツリーコンフリクトが発生したときに操作中に表示し、コンフリクトオーバーレイおよび [変更の確認] ダイアログにも表示します。

新しいコンフリクト解決ダイアログは、ツリーコンフリクトのタイプと、それらのコンフリクトを解決する方法のヒントを示すことで、そのようなコンフリクトの解決を支援します。

ログキャッシュ

TortoiseSVN 1.5 で導入されたログキャッシュは、よりスムーズに動作するように改善されました。キャッシュ管理を制御するための広範なオプションセットが利用可能です。詳細については、設定ダイアログを参照してください。

また、同じ URL または UUID を共有するリポジトリが完全にサポートされるようになりました。

リビジョングラフ

リビジョングラフは大幅に変更され、ほぼ完全に書き直されました。

Revision Graph

新しいリビジョングラフには、出力を調整するためのオプションが多数追加されました。たとえば、個々のサブツリーを非表示/表示することが可能になりました。

IBugtraq プロバイダープラグインの機能強化

新しいインターフェース IBugtraqProvider2 をプラグインで使用すると、コミットをより詳細に制御し、ユーザーにより多くの情報を提供できます。

この新しいインターフェースにより、プラグインはコミットを拒否したり、コミット成功後にタスクを実行したり (例: issue tracker の issue にエントリを追加するなど) できます。また、プラグインはオプション/設定ダイアログを表示することもできます。さらに、プラグインは各コミットにリビジョンプロパティを追加できます。

Issue tracker 用のプラグインの作成に関心のある開発者は、C++ および C# のサンプルプラグインのコードを contrib フォルダー から入手できます。

その他の変更

1.6 には言及する価値のある変更が他にもたくさんあります

  • 拡張子による複数ファイルの無視
  • ログダイアログでのバグ ID によるフィルタリング
  • ログダイアログでのフィルターの否定
  • ステータスキャッシュでの "runas" の処理の改善
  • 変更リストがない場合、ダイアログで項目が外部ごとにグループ化される
  • チェックアウト深度と外部/ネストされた項目のステータスリストのオーバーレイ

もちろん、これらは今回の 1.6 リリースで行われた機能強化/変更のすべてではありません。changelog を参照するか、リポジトリで SVN ログを表示すると、変更点の詳細なリストを入手できます。

1.6 の既知の問題

ファイル外部参照

Subversion 1.6 は、フォルダー外部参照だけでなく、単一ファイル外部参照もサポートするようになりました。ただし、使用する前に注意すべき重大な問題がいくつかあります。

ファイル外部参照は、フォルダーの svn:externals プロパティに値を追加することで作成されます。ただし、そのようなファイル外部参照が追加されると、svn:externals プロパティを削除してもワーキングコピーから削除できません。ワーキングコピーからファイルを削除する唯一の方法は、フレッシュチェックアウトを行うことです。Subversion issue #3351 を参照してください。

現在、バイナリファイルを外部参照として追加することはできません。Subversion issue #3368 を参照してください。