TortoiseSVN 1.8 の新機能
TortoiseSVN 1.8 は、これまでのすべての TortoiseSVN リリースのスーパーセットであり、現在の安定版かつ「最良」のリリースと見なされています。以前のバージョンにあったものはすべて 1.8 にも含まれていますが、1.8 には以前のリリースには存在しない機能とバグ修正が含まれています。
このページでは、主な変更点のみを説明しています。変更点の完全なリストについては、コミットログと、1.8 のIssue リストをご確認ください。
Subversion ライブラリのすべての変更点もご確認ください。Subversion ライブラリもバージョン 1.8 になりました。これらの変更点はもちろん TortoiseSVN にも含まれています。Subversion 1.8 リリースノートで変更点の完全なリストをご覧ください。
TortoiseBlame の色分け
TortoiseBlame は、変更を年齢/リビジョンで色分けするだけでなく、行を作者で色分けできるようになりました。これにより、誰がどの行を変更したかを簡単に特定できます。

ファイルの一部のみをコミット
タスクに取り組んでいると、周囲のコードに問題が見つかることがよくあります。その問題を修正すると、同じファイルで複数のタスクが実行され、その結果、1 回のコミットで複数の修正/タスクが実行されることになります。
特定の問題に関連するファイルの一部のみをコミットするには
- コミットダイアログで、ファイルを右クリックし、「コミット後に復元」を選択します。
- TortoiseMerge などでファイルを編集し、まだコミットしたくない変更を元に戻します。
- ファイルを保存します。
- ファイルをコミットします。
コミットが完了すると、元のファイルが復元され、まだコミットしていないすべての変更が含まれています。
TortoiseMerge
TortoiseSVN に付属のビジュアル差分/マージツールである TortoiseMerge にも多くの改善が加えられています。

- リボン UI
- TortoiseMerge は、コマンドにプレーンなツールバーではなく、リボンを使用するようになりました。
- 検索
- 検索の新しいショートカット Ctrl+F3、検索一致の表示の改善、アクティブなビューのみを検索。
- 行へ移動
- 特定の行番号に移動する新しいコマンド。
- インライン差分
- インライン差分は、設定ダイアログを使用せずに、単一のボタンでオン/オフを切り替えることができます。
- UTF-32 ファイルの処理
- TortoiseMerge は、UTF-32 エンコーディングのファイルも処理できるようになり、より多くの EOL 形式を認識します。
リポジトリブラウザ
リポジトリブラウザでよく要望されていた機能は、SVNListParentPath ディレクティブを介して提供されるすべてのリポジトリをリストすることでした。これが可能になりました。リポジトリブラウザをルート URL にポイントすると、すべてのリポジトリがリストされます。

リポジトリブラウザダイアログの下部には、ファイルとフォルダの数と現在表示されているフォルダを示す概要が表示されます。
Web ブラウザのように、戻るボタンと進むボタンも 2 つ追加されました。
サードパーティライブラリ
サードパーティライブラリがワーキングコピーに直接保存されている場合、つまり svn:externals
プロパティを使用していない場合、それらを更新するのは簡単ではありません。
新しいバージョンをコピーするだけでもちろん動作しますが、新しいバージョンでファイルが削除された場合、それらのファイルはワーキングコピーに残ります。
バージョン 1.8 では、TortoiseSVN はこれをより簡単に行う方法を提供します。ライブラリの新しいバージョンを含むフォルダをワーキングコピーに保存されているバージョンに右ドラッグし、コンテキストメニューから [SVN ベンダーブランチをここに作成] を選択します。
TortoiseSVN は、両方のディレクトリをスキャンし、すべての新しいファイルをコピーし、新しいバージョンに存在しなくなったファイルを削除します。
TortoiseSVN がフォルダを更新したら、新しいバージョンをコミットするだけです。
進捗ダイアログ
さまざまな操作の進捗状況を示すダイアログに、セクション/グループ化のより良い表示が追加されました。たとえば、複数の externals が設定されているワーキングコピーを更新する場合などです。
各セクション/グループは、太字で表示される最初の行で示されます。
また、externals の更新に関しては、変更をプルダウンする externals のみがダイアログに表示されます。external が変更されていない場合、ダイアログにはその情報が表示されません。これにより、特に多くの externals を設定している場合に、情報のない行が大幅に削減されます。
SubWCRev
SubWCRev にも多くの改善が加えられました。主なものは次のとおりです。
- UTF-16 エンコーディングのファイルも、ソース/テンプレートまたはターゲットファイルとして使用できます。
- ワーキングコピーリビジョンのオフセットを指定する新しいオプション。これは、リポジトリが 65535 を超えるリビジョンにある場合に、バージョンリソースにリビジョンを使用する場合に必要です。Windows バージョンリソース番号は 16 ビットのみであり、この状況では、バージョンリソース番号がその 16 ビット制限を下回るように負のオフセットを指定できます。
- SubWCRev は、バージョン管理されていないファイルやフォルダを検出できます。これは、バージョン管理されていないアイテムがワーキングコピーにある場合に、ビルドでエラーを返したい場合に役立ちます。これは、それらのアイテムを追加およびコミットし忘れた可能性があることを示しています。
カスタムプロパティ
カスタムプロパティを使用している場合は、TortoiseSVN を構成して、それらを編集および変更するためのより適切なダイアログを提供できます。
プロパティ tsvn:userfileproperties および tsvn:userdirproperties が拡張され、プロパティの種類を指定できるようになりました。
これの仕組みについては、ドキュメントをご覧ください。
プロパティ経由で設定可能なクライアントフックスクリプト
以前のバージョンでは、設定ダイアログを介してクライアント側のフックスクリプトのみを設定できました。これは、設定するワークステーション/ユーザーが少ない場合にのみ正常に機能しました。しかし、コミット担当者の大規模なチーム全員にフックスクリプトを実行させたい場合、これを設定するには多くの作業が必要でした。
TortoiseSVN 1.8 では、プロジェクトプロパティを介して実行するフックスクリプトを設定できるようになりました。
ユーザーが知らずに潜在的に安全でないスクリプトを実行することを避けるために、TortoiseSVN は最初にこれらのスクリプトを実行するかどうかを尋ねます。
これの仕組みについては、ドキュメントをご覧ください。
互換性に関する懸念
ローカルクライアントの互換性
Subversion ワーキングコピーには、TortoiseSVN、AnkhSVN、SVN コマンドラインクライアントなど、いくつかの異なるクライアントを使用してアクセスされる場合があります。ワーキングコピー形式はこのリリースで変更されたため、1.8 クライアントは、最初にアップグレードせずに以前のワーキングコピーにアクセスできません。1.8 より前のクライアントは、1.8 ワーキングコピーにまったくアクセスできず、ダウングレードオプションはありません。
1.8 ワーキングコピーへの移行は、一方通行の操作と見なす必要があります。同じワーキングコピーで複数のクライアントを使用する必要がある場合は、ワーキングコピーをアップグレードする前に、すべてのクライアントを更新できることを確認してください。
クライアントサーバーの互換性
古いクライアントとサーバーは、1.8 サーバーおよびクライアントと透過的に相互運用できます。つまり、古いサーバーで 1.8 クライアントを使用でき、古いクライアントで 1.8 サーバーを使用できます。ただし、クライアントとサーバーの両方が最新バージョンでない限り、新しい 1.8 機能の一部は使用できない場合があります。新しい機能が動作するが、クライアントが新しくサーバーが古い場合に効率が低下するケースもあります。
ログダイアログ
コードレビューを支援するためのログダイアログの機能強化
SmartBear Code Collaborator レビューツールとの相互運用性を提供するために、新しいコンテキストメニュー「コードコラボレーターレビューを作成」が追加されました。
下部の「変更されたファイル」リストボックスで複数のファイルが選択されている場合、ログダイアログに 2 つの新しいコンテキストメニューとコマンドが追加されました。
- 複数の変更を表示...
- 複数のローカルを開く...
これらのコマンドの動作の詳細 (Visual Studio にワーキングコピーファイルをロードするための特別なサポートを含む) は、Subversion ヘルプファイルの「リビジョンログダイアログの呼び出し」というトピックに記載されています。