TortoiseSVN Logo

TortoiseSVN 1.7 の新機能

広告

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

TortoiseSVN 1.7 は Windows 2000 のサポートを終了しました。動作には Windows XP Service Pack 3 以降が必要です。Windows 2000 または Windows XP Service Pack 3 未満を使用している場合は、OS をアップグレードするか、TortoiseSVN 1.6 を使い続ける必要があります。

このページでは、主な変更点のみを説明しています。変更点の完全なリストについては、コミットログを確認してください。

ワーキングコピーのメタデータストレージの改善

Subversion 1.7 では、WC-NG というコード名で呼ばれる Subversion のワーキングコピーメタデータ管理システムの完全な書き直しが行われました。この新しいフォーマットの詳細については、Subversion 1.7 リリースノートをご覧ください。

集中型メタデータストレージ

Subversion 1.7 で導入された変更の重要な機能は、ワーキングコピーのメタデータストレージを単一の場所に集中化することです。Subversion 1.7 のワーキングコピーには、ワーキングコピー内のすべてのディレクトリに .svn ディレクトリがある代わりに、ワーキングコピーのルートに 1 つの .svn ディレクトリしかありません。このディレクトリには、(とりわけ)SQLite でバックアップされたデータベースが含まれており、Subversion がそのワーキングコピーに必要なすべてのメタデータが含まれています。

データは構造化された形式で保存されていますが、データ間の関係は複雑です。外部ツールがこのデータベースに保持されているデータを変更することは、ワーキングコピーの破損につながる可能性があるため、強くお勧めしません。

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

Subversion 1.7 では、ワーキングコピーのフォーマットに大幅な変更が導入されました。以前のリリースでは、書き込み操作が実行されると、Subversion はワーキングコピーを新しいフォーマットに自動的に更新していました。しかし、Subversion 1.7 では、これが手動の手順になります。

TortoiseSVN 1.7 で既存のワーキングコピーを使用する前に、最初にフォーマットをアップグレードする必要があります。古いワーキングコピーを右クリックすると、TortoiseSVN はコンテキストメニューに ワーキングコピーのアップグレード というコマンドを 1 つだけ表示します。

upgradewc

安全のため、すべてのワーキングコピーで 1.7 より前の SVN クライアントで cleanup を実行する必要があります。ワーキングコピーが矛盾した状態にある場合、アップグレードプロセスが失敗する可能性があるためです。TortoiseSVN の新しいバージョンをインストールする前に cleanup を実行するのが最善です。

cleanup 後でも、アップグレードプロセスは常にスムーズに実行されるとは限らず、非常に遅くなる可能性があります。アップグレードする前に、ワーキングコピーへのすべての変更をコミットする(1.7 より前のクライアントを使用)ことをお勧めします。何らかの理由でアップグレードが失敗した場合は、新しくチェックアウトしてください。

ワーキングコピーをアップグレードすると、古い SVN クライアントはそれらのワーキングコピーにアクセスできなくなります。したがって、(TortoiseSVN だけでなく)すべての SVN クライアントを更新するようにしてください。

利便性を考慮して、TortoiseSVN には TortoiseSVN/bin ディレクトリに 1.7 SVN コマンドラインクライアントのコピーが含まれています。

x64 インストーラー

以前のリリースでは、x64 OS に TortoiseSVN をインストールしたユーザーは、32 ビットアプリケーションでもその機能を使用するために、32 ビットバージョンの TortoiseSVN を別途インストールする必要がありました。

TortoiseSVN 1.7 には、必要な 32 ビットパーツが x64 インストーラーに含まれています。x64 OS に 32 ビットバージョンの TortoiseSVN をインストールする必要はありません。

プロパティダイアログ

SVN プロパティの処理が大幅に容易になりました。ワーキングコピーに設定または設定する必要があるプロパティのほとんどは、正確なフォーマットを知らなくても設定および変更できるようになりました。TortoiseSVN 1.7 は、既知のプロパティのほとんどに対してカスタムダイアログを提供します。

propertydlgexternals propertydlgbugtraq

上記のスクリーンショットは、svn:externals およびすべての bugtraq: プロパティの新しいプロパティダイアログを示しています。TortoiseSVN 1.7 では、さらに多くのカスタムプロパティダイアログが利用可能です。それらのすべてについては、ドキュメントをご覧ください。

Windows 7 ライブラリ

Windows 7 のエクスプローラーには、共通点を持つファイルとフォルダーのコンテナーであるライブラリが導入されました。

TortoiseSVN 1.7 は、SVN ワーキングコピー用の新しいライブラリタイプを作成します。

win7svnlib

ワーキングコピーのルートフォルダーをその新しいライブラリフォルダーに入れると、エクスプローラーの上部に、最もよく使用されるコマンド(コミット、更新、変更の確認、ログの表示)を実行する 4 つのボタンが表示されます。

これにより、これらの頻繁に使用されるコマンドに右クリックコンテキストメニューを使用する必要がなくなり、マウスのクリック数を大幅に削減できます。

ログダイアログ

ログダイアログの外観はあまり変わりません。しかし、そのコアには多くの変更が加えられました。最も顕著なのは、パフォーマンスの向上でしょう。数十万件のエントリの表示とフィルタリングがほぼ瞬時に完了するようになりました。

フィルタリングも大幅に改善されました。特に、構文は、ユーザーが Web 検索エンジンから慣れ親しんでいるものに似ています。たとえば、Alice Bob -Eve でフィルタリングすると、Alice と Bob の両方を含むが Eve を含まない文字列が表示されます。詳細な例については、ドキュメントを参照してください。

ログダイアログのもう 1 つの機能は、フィルター一致を赤で強調表示することです。これにより、ログエントリのどの部分がフィルタ文字列に一致したかを簡単に確認できます。

logfilter

リビジョンがログメッセージで言及されている場合、ログダイアログはそれらをリンクに変換します。これらのリンクをクリックすると、ログダイアログで言及されたリビジョンが自動的に選択されます。

loglinks

リビジョングラフ

リビジョングラフも大幅に改善されました。特に、起動時間が大幅に短縮され、これは非常に大きなリポジトリで最も顕著になります。

リビジョングラフは非常に大きくなる可能性があるため、ビットマップ画像として保存すると、非常に大きな画像になる可能性があります。wmf ファイルとしてグラフを保存することは可能でしたが、そのフォーマットは Windows でのみ使用できます。そしてもちろん、Web ブラウザで表示することはできません。

バージョン 1.7 のリビジョングラフは、グラフを SVG フォーマットで保存できます。ほとんどの Web ブラウザはこのフォーマットをネイティブに表示でき、最新バージョンの Internet Explorer でさえ、これらのファイルを直接表示できます。

ブラウザがこのフォーマットをサポートしている場合は、このリンクから TortoiseSVN リビジョングラフをご覧ください。

ブランチ/タグ ダイアログ

ブランチまたはタグを作成するとき、svn:externals プロパティは、通常、別のリポジトリまたは同じリポジトリでも異なるパスの HEAD リビジョンを指すように、そのままブランチ/タグ付けされます。

svn:externalsタグ付けされていない場合、作成されたタグから後でチェックアウトすると、外部の HEAD リビジョンがフェッチされます。これにより、外部が追加のコミットを取得した場合、ビルドの一貫性がなくなる可能性があります。

ブランチ/タグ ダイアログで、外部もタグ付けできるようになりました。

branchtagexternals

ブランチまたはタグを作成するときに、外部が明示的なリビジョンに設定されている場合、TortoiseSVN は svn:externals プロパティを自動的に変更します。リポジトリの HEAD または特定のリビジョンからブランチ/タグが作成されると、TortoiseSVN は最初にブランチ/タグを作成し、次にプロパティを調整します。これにより、各プロパティに対して追加のコミットが作成されます。ワーキングコピーからブランチ/タグが作成されると、最初にプロパティが変更され、次にブランチ/タグが作成され、最後にプロパティが元の値に戻されます。

コミットダイアログ

コミットダイアログにもいくつかの UI の変更が加えられました。最初に気づくのは、コミットする項目のリストのすぐ上にある新しいリンクラベルです。これらのリンクは、特定の項目をチェックまたはチェック解除するために使用されます。これらのリンクラベルを使用すると、以前のバージョンで使用されていたチェックボックスを使用するよりも、そのタスクがはるかに簡単に実行できます。

commitdlg

コミットダイアログには、TortoiseSVN のアップデートが利用可能な場合、つまり、最新バージョンがインストールされていない場合に通知が表示されるようになりました。これは、以前のバージョンでポップアップしていた個別のダイアログに代わるものです。多くのユーザーがそのポップアップダイアログに不満を感じていたためです。

upgradecheck

リポジトリブラウザ

リポジトリブラウザには、svn:externals プロパティに含まれるフォルダーが表示されます。これらのフォルダーが異なるリポジトリにある場合でも、それらのフォルダーを参照することもできます。外部フォルダーは、リポジトリ内の通常のフォルダーと区別するために、赤い矢印でマークされています。

repobrowserexternals

リポジトリブラウザからファイルを直接編集することも可能になりました。これにより、ワーキングコピー全体をチェックアウトすることなく、ファイルに簡単な変更を加えることが容易になります。

リポジトリブラウザの起動とブラウジング自体も、1.7 では、大量のキャッシュとバックグラウンドでの情報のプリフェッチにより、大幅に高速化されました。

スパースチェックアウト

プロジェクトのいくつかのフォルダーのみを含むワーキングコピーが必要な場合は、いわゆる スパースチェックアウト を行う必要があります。以前のバージョンでは、これは複数の手順で実行されていました。最初に深さを空にして親フォルダーをチェックアウトし、次に必要な深さで必要なフォルダーを 1 つずつ更新していました。

現在、これははるかに簡単になりました。チェックアウトダイアログに アイテムを選択... ボタンがあり、それをクリックすると新しいダイアログが開き、必要なフォルダーとファイルを簡単にチェックし、不要なフォルダーとファイルをチェック解除できます。

sparsecheckout

すべてが選択されると、チェックアウトが残りの処理を行い、目的のスパースワーキングコピーが 1 つの簡単なステップで完成します。

TortoiseMerge

TortoiseMerge に、よく要望される機能がいくつか追加されました。
変更されていないセクションの非表示
差分を含まないセクションを非表示にして、変更のみを表示できます。これにより、スクロールをあまりせずに変更の概要を把握しやすくなります。
長い行の分割
長すぎる行は、横スクロールが多いため、見にくいです。新しいオプションを使用すると、表示時にこれらの行を複数行に分割できるため、横スクロールはもう必要ありません。
単語のマーク
単語/変数/ステートメントなどをダブルクリックすると、ドキュメント全体でその単語がマークされます。また、左側のビューバーには、ドキュメント内の同じ単語/変数/ステートメントが見つかる場所も示されます。これにより、変更のレビューがはるかに簡単になります。

互換性に関する懸念

ローカルクライアントの互換性

Subversion ワーキングコピーには、TortoiseSVN、AnkhSVN、SVN コマンドラインクライアントなど、いくつかの異なるクライアントを使用してアクセスすることがあります。このリリースでワーキングコピーのフォーマットが変更されたため、1.7 クライアントは最初にアップグレードせずに以前のワーキングコピーにアクセスすることはできません。1.7 より前のクライアントは 1.7 ワーキングコピーにまったくアクセスできず、ダウングレードオプションはありません。

1.7 ワーキングコピーへの移行は、一方通行の操作と見なす必要があります。同じワーキングコピーで複数のクライアントを使用する必要がある場合は、ワーキングコピーをアップグレードする前に、すべてのクライアントを更新できることを確認してください。

クライアントサーバーの互換性

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

新機能の互換性表

新機能最小クライアント1最小サーバー最小リポジトリ注記
HTTPv21.71.7すべて古いクライアント/サーバーの組み合わせの順列は、1.7 より前の機能レベルで引き続き機能します。
WC-NG1.7すべてすべて1.6 ワーキングコピーは 1.7 で使用できず、新しい 1.7 フォーマットに自動的にアップグレードされることはありません
1注意: file:// リポジトリアクセス方法を使用する場合、Subversion プログラムはクライアントサーバーの両方です。