TortoiseSVN の設定

マウスポインタをしばらくエディットボックスやチェックボックスなどの上に置いておくと、ヘルプのツールチップがポップアップして、設定がなんのために変更できるのかが分かります。

一般設定

図4.69 設定ダイアログの「全般」ページ

設定ダイアログの「全般」ページ


このダイアログでは、好みの言語を指定したり、Subversion 特有の設定を行うことができます。

言語

ユーザーインターフェイスの言語を選択してください。もちろん、英語以外を利用する場合は適切な言語パックを先にインストールしておく必要があります。

更新をチェック

チェックすると、TortoiseSVN は週に一度、ダウンロードサイトに接続して、プログラムの新バージョンがリリースされているかを調べます。結果をすぐに知りたければ、今すぐチェック を押してください。新バージョンがダウンロードされるわけではありません。単に新バージョンがあるという、情報ダイアログが表示されるだけです。

システムサウンド

TortoiseSVN にはデフォルトで3つのカスタムサウンドがインストールされています。

  • エラー

  • 注意

  • 警告

Windows のコントロールパネルで別のサウンド(もしくは完全に OFF)を選択できます。設定はコントロールパネルへのショートカットです。

Aero のダイアログを使用

Windows Vista 以降のシステムでは、ダイアログに Aero スタイルを使用するかどうか制御することができます。

ライブラリを作成

Windows 7 では、システムのさまざまな場所に散在している作業コピーをグループ化するためのライブラリを作成することができます。

常に無視するパターン

常に無視するパターンは、バージョン管理外のファイルを、コミットダイアログなどで表示されないようにするのに使用します。パターンにマッチしたファイルは、インポートでも無視されます。除外するファイルやディレクトリは、名前や拡張子で判断されます。パターンは空白で区切り、 bin obj *.bak *.~?? *.jar *.[Tt]mp のようにします。このパターンにはパス区切り文字を含めないでください。また、ファイルとディレクトリを区別することができないことに注意してください。パターンマッチの文法の詳細は、 「無視リストでのパターンマッチ」 を参照してください。

ここで指定した無視パターンは、同じPCで動作する他の Subversion クライアント(コマンドラインクライアントを含む)でも有効になることに注意してください。

注意

Subversion の設定ファイルで global-ignores パターンを設定していると、この設定を上書きしてしまいます。 Subversion の設定ファイルには、下にある 編集 ボタンでアクセスできます。

この無視パターンはすべてのプロジェクトに影響します。バージョン管理されませんので、他のユーザーには影響しません。一方、バージョン管理の svn:ignoresvn:global-ignore プロパティを使用し、バージョン管理からファイルやディレクトリを除外することもできます。詳細は 「ファイルやディレクトリの無視」 をご覧ください。

ファイルの更新日時を最後にコミットした日時に設定

このオプションは、チェックアウトや更新時にコミット時の日時をファイルの更新日時として使うよう、TortoiseSVN に指示します。そうでなければ、 TortoiseSVN は現在の日時を使用します。ソフトウェアを開発しているなら、ビルドシステムがコンパイルの要否を判断するのにタイムスタンプを使用するので、現在の日時にしておくのが最善でしょう。最後にコミットした日時 を使用していると、ファイルを古いリビジョンに戻す場合、プロジェクトがコンパイルされない可能性があります。

Subversion 設定ファイル

Subversion 設定ファイルを直接編集するには 編集 を使用してください。いくつかの設定は TortoiseSVN では直接変更することができないため、その場合にこれが必要です。Subversion の config ファイルについての詳細情報は、Runtime Configuration Area をご覧ください。Automatic Property Setting の節には興味深い項目があり、これはここで設定します。Subversion は複数の設定情報を読み込めますが、その優先順位を知っておかなくてはならないことに注意してください。詳細は Configuration and the Windows Registry を参照してください。

更新時に svn:externals にローカルの変更を適用する

このオプションは、 TortoiseSVN が作業コピーを更新する時に、 svn:externals プロパティにローカルで行われた変更を常に適用することを示します。

コンテキストメニュー設定

図4.70 設定ダイアログの「コンテキストメニュー」ページ

設定ダイアログの「コンテキストメニュー」ページ


このページでは、メインコンテキストメニューと TortoiseSVN サブメニューに現れる TortoiseSVN コンテキストメニューエントリを指定できます。デフォルトでは、ほとんどの項目にチェックが付いておらず、サブメニューに表示されません。

ロックを取得 は特殊です。もちろん上のリストを用いてトップレベルに表示できますが、ロックの必要がないほとんどのファイルにとっては乱雑なだけです。しかし、svn:needs-lock プロパティが設定されているファイルには、いつでも編集できるように、このアクションが必要です。この場合トップレベルに表示している方が便利です。このボックスをチェックしておくと、svn:needs-lock プロパティが設定されているファイルを選択すると、ロックを取得 がいつでもトップレベルに表示されるようになります。

Subversion のバージョン管理下にあるフォルダーを離れているときは、ほとんどの場合、 TortoiseSVN のコンテキストメニューを使用しません。バージョン管理外のフォルダーで本当にコンテキストメニューを必要とするのは、チェックアウト時くらいでしょう。バージョン管理外のパスではメニューを表示しないのオプションをチェックすると、 バージョン管理外フォルダーのコンテキストメニューでは、TortoiseSVN のメニュー項目が表示されなくなります。ただし、バージョン管理下のフォルダーでは、すべての項目を表示します。 Shift を押しながらコンテキストメニューを表示させると、バージョン管理外のフォルダーでもすべてのメニュー項目を表示させることができます。

TortoiseSVN のコンテキストメニューにも現れて欲しくない、コンピューター上のパスがある場合、下にあるボックスの項目を一覧できます。

TortoiseSVN ダイアログ設定1

図4.71 設定ダイアログの「ダイアログ1」ページ

設定ダイアログの「ダイアログ1」ページ


このダイアログでは、TortoiseSVN のダイアログをお好みに設定できます。

デフォルトのログメッセージ数

最初に TortoiseSVNログを表示 を選択したとき、 TortoiseSVN が取得するログメッセージをこの数に制限します。サーバーへの接続が遅い場合に便利です。もっとメッセージを取得するには 全て表示次の100件 を使用してください。

ログメッセージ用フォント

リビジョンログダイアログの中央の欄で、ログメッセージが表示される際に使用されるフォントとサイズを指定します。これは、コミットダイアログでログメッセージを編集する際にも使われます。

ログメッセージに短い日時形式を使用する

標準の長いメッセージ形式で使用するには画面が狭い場合、短い形式を使用します。

ログリスト内でダブルクリックすることで過去のリビジョンと比較する

ログダイアログの上の欄のリストを使用してリビジョンの比較を頻繁に行う場合は、このオプションを有効にすると、ダブルクリックで比較できるようになります。差分の取得には時間がかかるため、デフォルトでこのオプションは有効になっていません。多くの人は、間違ってダブルクリックした際に長時間待たされるのを避けたいということから、このオプションをデフォルトで有効にしていません。

ダイアログを閉じる条件

TortoiseSVN のコマンドがエラーがなく終了すると、進行ダイアログを自動で閉じることができます。この設定でダイアログを閉じる条件を選択できます。デフォルト(推奨)設定は手動で閉じるで、全てのメッセージを見て、何が起きたのか確認できます。しかし、ある種のメッセージは無視して、重要な変更がなければ自動で閉じてもらいたいということもあります。

マージ、追加、削除がなければ自動的に閉じるは、単純な更新のみの場合は進行ダイアログを閉じますが、リポジトリからの変更をマージする必要がある場合や、ファイルの追加・削除がある場合はダイアログを開いたままにします。また処理中に、なんらかの競合やエラーが発生した場合にも開いたままになります。

競合がなければ自動的に閉じるはもっと基準をゆるめ、マージ、追加、削除が起きてもダイアログを閉じますが、競合が発生した場合はダイアログを開いたままにします。

エラーがなければ自動的に閉じるは、競合が発生しても、 Subversion が処理を継続できないようなエラーが発生しない限りダイアログを閉じます。例えば、サーバーにアクセスできずに更新が失敗したり、作業コピーが最新ではなくコミットができない場合などです。

ローカル操作に対してはダイアログを常に閉じる

ファイルの追加や変更の取り消しといったローカル操作は、リポジトリへのアクセスは必要なく、短時間で完了します。そのため、進行状況ダイアログは重要でないことがしばしばあります。エラーが発生しない時に限り、これら操作後に自動で進行状況ダイアログを閉じる場合は、このオプションを選択してください。

変更を取り消す際にごみ箱を使用する

ローカルの変更を取り消す際、既に行っていた変更は破棄されます。TortoiseSVN では安全のために、元のコピーに戻す前に、変更したファイルをごみ箱に入れます。ごみ箱に入れるのをスキップしたい場合は、このオプションのチェックを外してください。

作業コピーの URL を 元: のデフォルトURLとして使用する

マージダイアログでは、デフォルトの動作は 元: の URL を記憶している所にマージします。しかし、階層内のいくつもの違う場所からマージを実行したい人もいますし、現在の作業コピーの URL からはじめる方が簡単な場合があります。また、別のブランチにある平行したパスを参照しながら編集するのにも使用できます。

デフォルトチェックアウトパス

チェックアウトのデフォルトパスを指定できます。チェックアウトした物をすべて一カ所に保持しておく場合、ドライブやフォルダーをあらかじめ設定しておいてくれ、最後に新しいフォルダー名を追加するだけですみます。

デフォルトチェックアウト URL

チェックアウトのデフォルト URL も指定できます。非常に大きいプロジェクトのサブプロジェクトをちょくちょくチェックアウトする場合、URL をあらかじめ設定しておいてくれ、最後にサブプロジェクト名を追加するだけですみます。

TortoiseSVN ダイアログ設定2

図4.72 設定ダイアログの「ダイアログ2」ページ

設定ダイアログの「ダイアログ2」ページ


バージョン管理外のフォルダーを再帰的に調べる

チェックすると(デフォルト状態)、追加コミット変更をチェックダイアログに、バージョン管理外のフォルダーやそれ以下の階層のファイルやフォルダがすべて表示されます。チェックしないと、以下の階層は表示されません。チェックを外せば、上記のダイアログが煩雑にならずに済みます。この場合、バージョン管理外のフォルダーを追加するよう選択すると、再帰的に追加されます。

変更をチェック ダイアログでは、無視される項目を表示するか選択できます。このチェックボックスにチェックして、無視されたフォルダーを表示すると、その中にある項目も同様に見られるようになります。

ファイルのパスやキーワードの自動補完を使用する

コミットダイアログはコミットするファイル名の一覧を保持しています。一覧にある項目の始めの 3 文字をタイプすると、自動補完ボックスがポップアップし、Enter を押すとファイル名が補完されます。チェックするとこの機能が有効になります。

自動補完のパースがタイムアウトするまでの時間(秒)

大きなファイルをチェックしていて、自動補完パーサが遅すぎることがあります。コミットダイアログが長い時間止まってしまうのなら、ここで指定した時間でタイムアウトするようになります。重要な自動補完情報を見逃してしまうのなら、タイムアウトを長くできます。

tsvn:projectlanguage が設定されている場合はスペルチェッカーを使用する

コミット時にスペルチェッカーを使用しない場合、ここにチェックをつけてください。プロジェクトプロパティで必要だと指定したときだけ、動作するようになります。

ログメッセージの履歴で表示する最大の項目数

コミットダイアログでログメッセージを入力すると、TortoiseSVN は後で再利用できるようにメッセージを記憶します。デフォルトでは、リポジトリごとに最新のログメッセージを 25 個記憶していますが、ここでその数をカスタマイズできます。たくさんの異なるリポジトリがあるなら、レジストリがいっぱいにならないように、少なくしておくといいでしょう。

この設定は、このコンピューターで入力したメッセージにのみ適用されることに、ご注意ください。ログキャッシュには何も影響を与えません。

項目を自動的に選択する

コミットダイアログの通常動作は、全ての(バージョン管理下の)変更があるファイルをコミットするよう、自動的に選択します。はじめに何も選択せず、コミットする項目を手作業で選択する場合、このチェックボックスのチェックを外してください。

未コミットの項目が残ったときはコミット後に再度ダイアログを開く

コミットされていないファイルやフォルダーがあった場合、コミット完了後に同じディレクトリで自動的にコミットダイアログを再度開きます。

スタートアップ時にリポジトリへアクセスする

デフォルトでは「変更をチェック」ダイアログで作業コピーのチェックが行われ、リポジトリをチェックがクリックされた時だけリポジトリへの接続を行います。常にリポジトリをチェックするようにしたい場合、これを設定すると、この動作が自動的に行われるようになります。

ファイルをロックする前にロックダイアログを表示する

ひとつないし複数のファイルを選択し、TortoiseSVNロック を使用してそのファイルをロックする際、プロジェクトによっては、なぜそのファイルをロックしたかを説明するロックメッセージを書くことになっています。ロックメッセージを使用しない場合には、このチェックボックスのチェックをはずすと、ダイアログをスキップし、すぐにファイルをロックします。

フォルダーにたいしてロックコマンドを使用する場合、ロックするファイルを選択するため、常にロックダイアログを表示します。

プロジェクトで tsvn:lockmsgminsize プロパティを使用している場合、そのプロジェクトはロックメッセージが 必須 なので、設定がどうであってもロックダイアログを表示します。

TortoiseSVN ダイアログ設定3

図4.73 設定ダイアログの「ダイアログ3」ページ

設定ダイアログの「ダイアログ3」ページ


高速に表示するためにフォルダーを先読みする

このチェックボックスをチェックすると(デフォルトの状態)、リポジトリブラウザーはバックグラウンドでフォルダーに表示される情報を取得します。そのため、フォルダーのうちの1つをクリックしたとき、情報がすでに準備されている状態になります。

しかし、サーバーによってはこのような場合に並行してアクセスされても処理できなかったり、非常に多数のアクセスを正しく扱うように設定されていなかったために、不具合が発生してブロックされてしまったりすることがあります。この場合、このチェックボックスで先読み機能を無効にしてください。

外部参照を表示する

このチェックボックスをチェックすると(デフォルトの状態)、リポジトリブラウザーは svn:externals プロパティで外部参照として設定されたファイルやフォルダーを、普通のファイルやフォルダーと同じように表示します。但し、オーバーレイアイコンでは外部ソースとして扱われます。

上記の先読み機能が有効になっていると、この機能も弱いサーバーには負担になることがあります。この場合、このチェックボックスでこの機能を無効にしてください。

TortoiseSVN の色の設定

図4.74 設定ダイアログの「色」ページ

設定ダイアログの「色」ページ


このダイアログでは、TortoiseSVN のダイアログで使用するテキストの色をお好みに変更できます。

競合・妨害

更新中やマージ中に発生した競合。既存のバージョン管理外のファイル・フォルダーと同じ名前のバージョン管理下のものがあると更新は妨害されます。

進行ダイアログのエラーメッセージにも使用します。

追加したファイル

リポジトリに追加した項目。

紛失・削除・置換

リポジトリから削除された項目、作業コピーから紛失した項目、作業コピーから削除された項目、同じ名前で置き換えられた項目。

マージ終了

リポジトリからの変更を、競合もなく作業コピーにうまくマージしました。

変更・コピー

履歴に追加されるかリポジトリ内のパスをコピーした項目。ログダイアログでも、コピーされた項目を含む場合に使用されます。

削除したノード

リポジトリからすでに削除された項目。

ノードを追加

(追加・コピー・移動操作で) リポジトリに追加した項目。

名前を変更されたノード

リポジトリで名前の変更があった項目。

置換

元の項目が削除され、同じ名前で新しく作成された項目。

絞り込みへの一致

ログダイアログで絞り込みをする際、検索語は検索結果中でこの色で強調表示されます。

リビジョングラフの設定

図4.75 設定ダイアログの「リビジョングラフ」ページ

設定ダイアログの「リビジョングラフ」ページ


分類パターン

リビジョングラフは、トランク、ブランチ、タグを見分けることで、リポジトリを明確に可視化しようとします。これは Subversion に組み込まれた分類ではなく、パス名から抽出した情報です。デフォルト設定では、Subversion のドキュメントで推奨されている英語名規約ですが、もちろん使い方はことなるかもしれません。

三つの矩形で表すパスを、認識するため使用するパターンを指定してください。パターンは大文字小文字を区別しませんが、小文字で書いてください。*? といったワイルドカードはいつものように使用できます。また、; で複数のパターンを区切ってください。比較に使用されてしまうため、余計な空白は含めないでください。

コミットタグの検出

これらのパターンはリビジョングラフだけではなく、タグへのコミットの検出にも使われることに注意してください。

色の変更

リビジョングラフで、ノードタイプ(つまり追加、削除、名前変更といったノード)を表すのに使用する色です。ノードの分類を識別するため、ノードタイプと分類の両方を表示するよう、リビジョングラフに色をませるよう指示できます。このチェックが付いていないと、ノードタイプを表すためだけに色を使用します。使用するそれぞれの色を指定するには、色選択ダイアログを使用してください。

リビジョングラフの色

図4.76 設定ダイアログのリビジョングラフの「色」ページ

設定ダイアログのリビジョングラフの「色」ページ


このページでは使用する色を設定できます。ここで指定する色は、無地の色であることにご注意ください。ほとんどのノードでは、ノードタイプ色と背景色、必要に応じて分類色を混ぜた色で着色されます。

削除したノード

削除され、同じリビジョンのどこにもコピーされていない項目です。

追加したノード

新しく追加されたか、コピー(履歴とともに追加)された項目です。

名前変更ノード

ある場所から削除され、同じリビジョンの別の場所に追加された項目です。

変更ノード

追加も削除もされず、単純に変更された項目です。

未変更ノード

(グラフに表示する)変更がまったくそのリビジョンで発生しなかったとしても、コピー元として使用されるリビジョンを表示するのに使用される場合があります。

最新リビジョン(HEAD)ノード

現在のリポジトリの HEAD リビジョンです。

作業コピーノード

変更された作業コピー向けに追加ノードを表示するよう選択した場合、グラフに追加された最終コミットリビジョンは、この色を使用します。

作業コピーノードの縁

作業コピーが変更されたことを表示するように選択した場合、変更を検出すると作業コピーの境界線にこの色を使用します。

タグノード

タグとして分類されたノードは、この色が混ざることがあります。

トランクノード

トランクとして分類されたノードは、この色が混ざることがあります。

たたまれたタグマーカー

領域を節約するためにタグを折りたたんだ場合、コピー元において、タグはこの色のブロックを使用してマークされます。

選択したノードマーカー

ノードを選択するためクリックしたままにした場合、選択状態を表すマーカはこの色のかたまりとなります。

縞模様

グラフがサブツリーに分割された時にその色を使い、背景にその他の色が付いている場合、分割ツリーを際だたせるため、縞模様にします。

アイコンオーバレイ設定

図4.77 設定ダイアログの「アイコンオーバーレイ」ページ

設定ダイアログの「アイコンオーバーレイ」ページ


このページでは、TortoiseSVN が表示するアイコンオーバーレイの項目を選択できます。

作業コピーの状態を取得するには時間がかかるため、エクスプローラーがオーバーレイアイコンを表示するのに負荷がかからないように、 TortoiseSVN は状態をキャッシュに格納します。システムや作業コピーの大きさをもとに、 TortoiseSVN が使用するキャッシュタイプを以下から選択してください。

デフォルト

別のプロセス(TSVNCache.exe)がすべての状態情報をキャッシュします。このプロセスは、全ドライブの変更を監視し、作業コピー内のファイルが更新されれば、その状態情報を再取得します。優先度が最低で動作しますので、他のプログラムが、これによりリソースをとられてしまうことはありません。これは状態情報が リアルタイム で更新されないということでもありますが、オーバーレイ表示は数秒で更新されます。

【利点】オーバーレイには再帰的な状態が表示されます。つまり、作業コピーの深い階層にあるファイルを更新すると、作業コピーの最上位までの全フォルダーにも更新オーバーレイが表示されます。さらにプロセスからシェルに通知が送られるので、通常、左のツリービューのオーバーレイ表示も変更されます。

【欠点】プロジェクトについての作業をしていないときでも、プロセスが常に動作しています。さらに、作業コピーの数や大きさにも依存しますが、およそ10~50MBの RAM を消費します。

シェル

シェル拡張 DLL の内部で直接キャッシュしますが、表示されているフォルダーのみをキャッシュします。別のフォルダーに移るたびに、ステータス情報を再取得されます。

【利点】とても少ないメモリの消費量で(およそ1MBの RAM を使用)、状態を リアルタイム に表示できます。

【欠点】単一のフォルダーしかキャッシュしないため、オーバーレイには再帰的な状態が表示されません。大きな作業コピーでは、デフォルトのキャッシュよりも、エクスプローラーのフォルダー表示に時間がかかることがあります。また、 MIME タイプ列が使用できなくなります。

無し

この設定では、 TortoiseSVN はエクスプローラーで状態をまったく取得しません。このため、バージョン管理下にあるファイルやフォルダーには、常に「通常」がオーバーレイ表示されます。それ以外のオーバーレイは表示されず、追加の列も無効になります。

【利点】追加でメモリを使用することは絶対になく、閲覧中にエクスプローラーが遅くなることもありません。

【欠点】ファイルやフォルダーの状態情報が、エクスプローラーに表示されません。作業コピーが変更されているかどうかを確認するには、変更をチェックダイアログを使用する必要があります。

デフォルトでは、ファイルを開く・保存ダイアログでも、Windows エクスプローラーと同様に、オーバレイアイコンやコンテキストメニューが表示されます。 Windows エクスプローラーで のみ 表示させる場合は、エクスプローラー上でのみオーバーレイとコンテキストメニューを表示をチェックしてください。

バージョン管理外のファイルを含むフォルダーに、変更済マークをつけるようにもできます。これにより、まだバージョン管理下に入れてない新しいファイルを作成したのを、覚えておくのに便利です。このオプションは、キャッシュタイプ(前述)が デフォルト の場合にのみ有効です。

変更リストignore-on-commitにファイルが登録されている場合、状態を親フォルダーの表示に反映させないようにすることができます。つまり、変更リスト内のファイルだけが変更されても、親フォルダーのオーバーレイアイコンは「未変更」のままになります。

次のグループでは、オーバーレイを表示するストレージの種類を選択できます。デフォルトでは、ハードディスクドライブしか選択されていません。アイコンオーバレイをすべて無効にもできますが、そんなことしたいですか?

ネットワークドライブはとても遅いので、デフォルトでは、ネットワークフォルダー上にある作業コピーにはアイコンを表示しません。

USB フラッシュドライブは、ドライブタイプがデバイス毎に特定されるので特殊です。ある種のものは固定ドライブに見え、別のある種のものはリムーバブルドライブに見えます。

除外するパス は TortoiseSVN に対して、それらのパスにはアイコンオーバーレイやステータス列を 表示しない ことを伝えるために使用します。これは、変更しないライブラリのみが含まれるためオーバーレイの必要ない巨大な作業コピーが存在する場合、もしくは TortoiseSVN に特定のフォルダーのみ見て欲しい場合に有用です。

ここで指定するパスはどれも再帰的に適用されることを想定しています。そのため、どの子階層フォルダーもオーバーレイ表示されません。名前のついたフォルダー のみ を除外したいなら、 ? をパスの後ろに追加してください。

含めるパス にも同じことが言えます。オーバーレイが無効になるドライブタイプや、除外パスで指定したパスでも、オーバーレイされるようになります。

ユーザーは時々これら3つの設定がどのように作用するかを疑問に思うかもしれません。任意のパスに対して、一致するものが見つかるまでディレクトリ構造を上向きに探索し、含めるリストと除外するリストをチェックします。最初に一致するものが見つかった場合、含めるもしくは除外するルールに従います。もし競合した場合は、単一ディレクトリの設定は再帰的なものより優先されます。そして、含めるルールは除外するルールよりも優先されます。

分かりやすい例を示します。

除外するパス:
       C:
       C:\develop\?
       C:\develop\tsvn\obj
       C:\develop\tsvn\bin

含めるパス:
       C:\develop

このように設定すると、 C: ドライブのオーバーレイ表示は無効になりますが、 c:\develop 以下については、明確に除外されている c:\develop フォルダー自身を除き、すべてのプロジェクトにオーバーレイ表示されます。頻繁に変更されるバイナリが入るフォルダーも除外されます。

TSVNCache.exe が検索するパスを制限することもできます。特定のフォルダー以下のみを検索したい場合は、全ドライブタイプを無効にし、検索対象にしたい特定のフォルダーのみを含めてください。

SUBST ドライブを除外する

作業コピーにアクセスするのに、以下のように SUBST ドライブを使用すると便利なことがあります。

subst T: C:\TortoiseSVN\trunk\doc

しかし、 TSVNCache はファイルが変更されたという通知をひとつしか受け取れず、それは通常割り当て元のパスに対してであるため、オーバーレイ表示を更新できません。そのため、 subst パスのオーバーレイ表示はまったく更新されない可能性があります。

これに対処する簡単な方法は、表示対象から割り当て元のパスを除外することです。そうすれば、代わりに subst パスにオーバーレイ表示されます。

時には、 TSVNCache による変更の検索・監視を減らすために、作業コピーを含む領域を除外することがありますが、フォルダーに作業コピーが含まれていることを視覚表示したい場合があります。 表示対象外にある作業フォルダーの最上位を通常として表示する チェックボックスをチェックすると、除外されたパス(チェックされていないドライブタイプや、除外するパスとして指定されたもの)にある作業コピーの最上位フォルダーには、通常の最新の状態である緑色のチェックマークが表示されます。フォルダーのオーバーレイ表示は正しくはないかもしれませんが、作業コピーは見つけやすくなるでしょう。ファイルには全くオーバーレイ表示されません。オーバーレイ表示がなくても、コンテキストメニューは有効であることにご注意ください。

この特殊な例外として、A: ドライブと B: ドライブは'通常' として除外フォルダーを表示する オプションのようには動作しません。これは、Windows がエクスプローラーの起動時に、PC にフロッピードライブがあっても、数秒の遅延が考えられるドライブを強制的に参照するからです。

アイコンセットの選択

図4.78 設定ダイアログの「アイコンセット」ページ

設定ダイアログの「アイコンセット」ページ


オーバーレイアイコンを任意のものに変更できます。オーバーレイアイコンセットを変更したときに、変更を有効にするにはコンピューターの再起動が必要なことに注意してください。

オーバーレイハンドラーを有効にする

図4.79 設定ダイアログの「オーバーレイハンドラー」ページ

設定ダイアログの「オーバーレイハンドラー」ページ


使用可能なオーバーレイの数が厳しく制限されているため、任意のものがロードされることを保証するために、いくつかのハンドラを無効にすることができます。 TortoiseSVN は他の Tortoise クライアント(例えば TortoiseCVS や TortoiseHg )と共用される TortoiseOverlays コンポーネントを使用しているため、この設定はそれらのクライアントに影響します。

ネットワーク設定

図4.80 設定ダイアログの「ネットワーク」ページ

設定ダイアログの「ネットワーク」ページ


リポジトリごとにプロキシの設定をする必要がある場合、 Subversion の servers ファイルを直接編集する必要があります。直接編集する場合は 編集 ボタンを押してください。このファイルの使用法の詳細は、Runtime Configuration Area で説明しています。

TortoiseSVN が svn+ssh リポジトリと安全な接続を確立するのに使用するプログラムを指定できます。私たちは TortoisePlink.exe をお勧めします。これは TortoiseSVN に含まれている一般的な Plink プログラムです。ですがウィンドウなしアプリとしてコンパイルされているため、認証するたびに DOS ボックスがポップアップする、ということはありません。

実行ファイルのフルパスを指定しなければなりません。TortoisePlink.exe の場合、 TortoiseSVN の標準 bin ディレクトリにあります。その場所を指定するには 参照 ボタンが役に立ちます。パスに空白が含まれる場合、以下のように引用符で囲んでください。

"C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe"

ウィンドウを持たないということの側面として、いずれのエラーメッセージも行き場がないということがあります。そのため、認証が失敗したときに 標準出力に書き込めません といった簡単なメッセージしか得られません。このため、まず標準の Plink をセットアップすることをお勧めします。すべて動作すれば、TortoisePlink を全く同じパラメーターで使用できます。

TortoisePlink は、Plink の派生物のためドキュメントがありません。コマンドラインパラメーターは PuTTY のウェブサイト で参照してください。

パスワードを繰り返し入力しなくてもいいように、Pageant のようにパスワードキャッシュツールの使用も検討する必要があるでしょう。これも PuTTY のウェブサイトでダウンロードできます。

最終的に、サーバーとクライアントにSSHを設定するのは、このヘルプファイルの範疇を超えている重要なプロセスです。しかし、TortoiseSVN FAQ にリストされている Subversion/TortoiseSVN SSH How-To にガイドがあります。

外部プログラムの設定

図4.81 設定ダイアログの「差分ビューアー」ページ

設定ダイアログの「差分ビューアー」ページ


ここでは、TortoiseSVN が使用する外部の差分・マージツールを定義できます。デフォルトでは TortoiseSVN と一緒にインストールされる TortoiseMerge が使われます。

TortoiseSVN の外部の差分・マージツールとしてよく使われているものの一覧は、 「外部差分・マージツール」 をご覧ください。

差分ビューアー

外部の差分ツールは、ファイルを異なるリビジョン間で比較するのに使用します。外部ツールは、それぞれのコマンドラインオプションに従って、コマンドラインからファイル名を取得する必要があります。TortoiseSVN は % が先頭についた置換パラメーターを使用します。このパラメーターが現れると、適切な値に置換されます。パラメーターの順番はお使いの差分ツールに合わせてください。

%base

変更前のファイル

%bname

変更前ファイルのウィンドウタイトル

%nqbname

引用符なしの変更前ファイルのウィンドウタイトル

%mine

変更後のファイル

%yname

変更後ファイルのウィンドウタイトル

%nqyname

引用符なしの変更後ファイルのウィンドウタイトル

%burl

元ファイルのURL(もしあれば)

%nqburl

引用符なしの元ファイルのURL(もしあれば)

%yurl

2番目のファイルのURL(もしあれば)

%nqyurl

引用符なしの第2ファイルのURL(もしあれば)

%brev

元ファイルのリビジョン(もしあれば)

%nqbrev

引用符なしの元ファイルのリビジョン(もしあれば)

%yrev

2番目のファイルのリビジョン(もしあれば)

%nqyrev

引用符なしの第2ファイルのリビジョン(もしあれば)

%peg

ペグリビジョン(もしあれば)

%nqpeg

引用符なしのペグリビジョン(もしあれば)

%fname

競合ファイルの名前

%nqfname

引用符なしの競合ファイルの名前

ウィンドウタイトルは単なるファイル名ではありません。 TortoiseSVN は、それを表示名として扱うため、それにふさわしい名前を作成します。たとえば、あるファイルのリビジョン 123 と作業コピーの差分を表示する場合、それぞれの名前は filename : リビジョン 123filename : 作業コピー となります。

ExamDiff Pro の設定例:

C:\Path-To\ExamDiff.exe %base %mine --left_display_name:%bname
    --right_display_name:%yname

KDiff3 の設定例:

C:\Path-To\kdiff3.exe %base %mine --L1 %bname --L2 %yname

WinMerge の設定例:

C:\Path-To\WinMerge.exe -e -ub -dl %bname -dr %yname %base %mine

Araxis の設定例:

C:\Path-To\compare.exe /max /wait /title1:%bname /title2:%yname
    %base %mine

UltraCompare の設定例:

C:\Path-To\uc.exe %base %mine -title1 %bname -title2 %yname

DiffMerge の設定例:

C:\Path-To\DiffMerge.exe -nosplash -t1=%bname -t2=%yname %base %mine

キーワード、特にファイルの リビジョン 展開に svn:keywords を使用する場合、キーワードの現在値によって、厳密には違いがでるかもしれません。また、svn:eol-style = native を使用しているなら、BASE ファイルの行末は純粋に LFになっているでしょうが、ローカルのファイルの行末は CR-LF かもしれません。通常 TortoiseSVN は 差分操作の前に、BASE ファイルに対しキーワード展開や行末を分析して自動的にこの違いを隠蔽します。しかしこの操作は時間がかかる可能性があります。BASE に対する差分の時はファイルを変換する にチェックがなければ、TSVN はファイルに対する事前処理をスキップします。

Subversion のプロパティ用に別の差分ツールを指定することもできます。プロパティは短く簡単な文字列である傾向があるので、シンプルでもっとコンパクトなビューアーを使いたくなるかもしれません。

代替差分ツールを設定すると、コンテキストメニューから TortoiseMerge サードパーティツールにアクセスできます。コンテキストメニュー差分を表示 で優先差分ツールを使用し、Shift+ コンテキストメニュー差分を表示 で代替差分ツールを使用します。

ダイアログの最下部で、Unified差分ファイル(パッチファイル)のビューアーを設定することができます。パラメーターは必要ありません。デフォルトの設定では、 TortoiseSVN と一緒にインストールされる TortoiseUDiff を使用するよう設定され、追加・削除された行を色分け表示します。

Unified差分ファイルは単なるテキストファイルなので、任意のテキストエディターを使用しても結構です。

マージツール

外部マージプログラムを競合したファイルの解決に使用します。パラメーターを差分プログラムと同様の方法で置換します。

%base

誰も変更していないもとのファイル

%bname

変更前ファイルのウィンドウタイトル

%nqbname

引用符なしの変更前ファイルのウィンドウタイトル

%mine

自分の変更がある自分のファイル

%yname

変更後ファイルのウィンドウタイトル

%nqyname

引用符なしの変更後ファイルのウィンドウタイトル

%theirs

リポジトリにあるファイル

%tname

リポジトリにあるファイルのウィンドウタイトル

%nqtname

引用符なしのリポジトリにあるファイルのウィンドウタイトル

%merged

マージ操作をした結果の競合ファイル

%mname

マージしたファイルのウィンドウタイトル

%nqmname

引用符なしのマージしたファイルのウィンドウタイトル

%fname

ファイルの名前です。もし同じファイルの2つの状態を比較するのではなく、2つの異なるファイルを比較する場合は、この文字列は空欄になります。

%nqfname

引用符なしのファイルの名前です。

Perforce Merge の設定例:

C:\Path-To\P4Merge.exe %base %theirs %mine %merged

KDiff3 の設定例:

C:\Path-To\kdiff3.exe %base %mine %theirs -o %merged
    --L1 %bname --L2 %yname --L3 %tname

Araxis の設定例:

C:\Path-To\compare.exe /max /wait /3 /title1:%tname /title2:%bname
    /title3:%yname %theirs %base %mine %merged /a2

WinMerge (2.8 以降) の設定例:

C:\Path-To\WinMerge.exe %merged

DiffMerge の設定例:

C:\Path-To\DiffMerge.exe -caption=%mname -result=%merged -merge
    -nosplash -t1=%yname -t2=%bname -t3=%tname %mine %base %theirs

差分・マージの高度な設定

図4.82 設定ダイアログの「差分/マージの高度な設定」ダイアログ

設定ダイアログの「差分/マージの高度な設定」ダイアログ


高度な設定では、ファイルの拡張子ごとに異なる差分・マージプログラムを定義できます。たとえば、.jpg ファイルの 差分 を取るのに Photoshop を関連付けできます。:-) svn:mime-type で差分・マージプログラムと関連付けることもできます。

拡張子を関連付けるには、拡張子を指定する必要があります。Windows ビットマップファイルを指定するには、.BMPとしてください。svn:mime-type プロパティを使用して関連付けるには、text/xml のようにスラッシュを含めて mime type を指定してください。

保存データの設定

図4.83 設定ダイアログの「保存されたデータ」ページ

設定ダイアログの「保存されたデータ」ページ


便宜上、TortoiseSVN はたくさんの設定を保存し、最近の情報を記憶しています。データのキャッシュを削除する場合、ここで行います。

URLの履歴

作業コピーのチェックアウトや、変更点のマージ、リポジトリブラウザーの使用の際は常に、TortoiseSVN は直近に使用した URL を記録し、コンボボックスに提供します。時には URL がもう存在しなくなり、リストが散らかりますので、定期的に掃除するのに便利です。

コンボボックスに表示されている 1 項目だけを、その場で削除したい場合、下矢印をクリックしてコンボボックスを開き、削除したい項目にマウスをあわせて、Shift+Del を押してください。

ログメッセージ(入力ダイアログ)

TortoiseSVN は最近の入力したコミットログを保存しています。リポジトリごとに保存していますので、たくさんのリポジトリにアクセスする場合、極度に肥大化してしまうことがあります。

ログメッセージ(ログダイアログ)

TortoiseSVN は、次回ログを参照した際の時間節約のため、ログ参照ダイアログが取得したログメッセージをキャッシュしています。メッセージがキャッシュされている状態で、他の誰かがログメッセージを編集した場合、キャッシュを消去しないとその変更を参照できません。ログメッセージのキャッシュは ログキャッシュ タブで有効にできます。

ダイアログのサイズと位置

多くのダイアログは、前回使用したときのサイズと画面内の位置を記憶しています。

認証データ

Subversion サーバーの認証を通れば、ユーザー名とパスワードを毎回入力しなくてもいいように、ローカルにキャッシュしています。セキュリティ上の理由や、リポジトリに別のユーザー名でアクセスするのに消去したいかもしれません……ジョンはPCがあなたに使われているのを知っていますか?

もし、特定の1つのサーバーについて認証データをクリアしたい場合は、全て消去ではなく消去...ボタンを使用してください。

アクションログ

TortoiseSVN は、進行ダイアログに書き込まれたすべてのログを保持しています。これは例えば、最近の更新コマンドで何が起きたのかをチェックしたいときに便利です。

ログファイルは長さを制限しており、大きくなりすぎたときには古い内容から破棄していきます。デフォルトでは 4000 行保持しますが、この数字はカスタマイズできます。

ここからログファイルの内容の確認や消去ができます。

ログキャッシュ

図4.84 設定ダイアログの「ログキャッシュ」ページ

設定ダイアログの「ログキャッシュ」ページ


このダイアログでは、TortoiseSVNのログキャッシュ機能の設定ができます。これはログメッセージと変更したパスのローカルコピーを保持し、サーバーからダウンロードの時間消費を防ぎます。ログキャッシュを使用すると、ログダイアログやリビジョングラフが劇的に速くなります。その他にも、オフライン時にもログメッセージを参照できるといった便利な特徴もあります。

ログのキャッシュを有効にする

ログデータが必要な時は常にログのキャッシュを有効にします。チェックすると、キャッシュが有効ならキャッシュからデータを取得します。キャッシュにメッセージがなければ、サーバーから取得しキャッシュに追加します。

キャッシュを無効にすると、データを常にサーバーから直接取得し、ローカルに保存しません。

あいまいなURLを許可

時には、すべてのリポジトリが同じ URL を使用するサーバーに、接続しなければならないかもしれません。svnbridge の旧バージョンではこうなるでしょう。そのようなリポジトリにアクセスする必要がある場合、このオプションをチェックする必要があります。そうでなければ、性能向上のため、チェックしないままにしてください。

あいまいなUUIDを許可

いくつかのホスティングサービスでは、すべてのリポジトリが同じ UUID を与えます。また、自分のリポジトリフォルダーをコピーして新しいリポジトリを作成、のようなことさえしたかもしれません。さまざまな理由でこれはまずい考えです。UUID は一意でなければなりません。しかし、このチェックボックスをチェックすると、そのような状況でもログキャッシュが動作します。必要なければ、性能向上のため、チェックしないままにしてください。

リポジトリにアクセスできない場合

オフラインで作業していたり、リポジトリサーバーがダウンしていたりした場合でも、ログキャッシュを使用して、すでにキャッシュに保持したログメッセージを提供できます。もちろんキャッシュは最新の状態ではありませんから、この機能を使用するかどうかの選択肢があります。

サーバーに接続せず、キャッシュからログデータを取得する際、ダイアログはオフライン状態であることをタイトルバーに表示します。

HEAD リビジョンへの更新がタイムアウトになるまでの秒数

ログダイアログを表示する際、通常、新しいログメッセージをチェックするのにサーバーに接続すると思います。ここでタイムアウトに0以外を指定したばあい、前回の接続からその秒数経過しているときだけ、サーバーに接続します。頻繁にログダイアログを開き、サーバーが遅い場合、これによりサーバーとのやりとりを抑えることができますが、表示されるデータが完全に最新であるとは限りません。この機能を使用する場合は、折衷案として300(5分)とするのをお勧めします。

小さいキャッシュを自動削除する日数

たくさんのリポジトリをブラウズすると、たくさんのログキャッシュを蓄積することになります。そのリポジトリを頻繁に使用しなければ、キャッシュが大きくふくらむことはありません。そのため、TortoiseSVN はデフォルトで、ここにセットした時間後にキャッシュを削除します。キャッシュの削除を制御するのに、この項目を使用してください。

自動削除対象となるキャッシュのサイズの上限

大きなキャッシュの再取得は、より負荷が高くなります。そのため、TortoiseSVN は小さなキャッシュしか削除しません。この値で、適切な閾値を調節してください。

異常終了後にキャッシュを保持する回数

時折、キャッシュに何か障害が発生し、それが元で異常終了することがあります。これが発生すると、問題の再発防止のため、通常自動的にキャッシュを削除します。ナイトリービルドのような不安定さの残るバージョンを使用する場合などで、キャッシュを保持するために指定することができます。

キャッシュされているリポジトリ

このページでは、ローカルにキャッシュしたリポジトリの一覧を、キャッシュに使用した領域とともに参照できます。リポジトリを選択すると、その下のボタンを使用できます。

更新 をクリックすると、キャッシュを完全に再読込し、抜けたところを補完します。大きなリポジトリでは、非常に時間がかかりますが、オフラインで作業し、もっともよい状態のキャッシュが必要な場合に便利です。

エクスポート ボタンをクリックすると、キャッシュ全体を CSV ファイルでエクスポートします。ログデータを外部プログラムで処理をする際に便利ですが、主に開発者用でしょう。

削除 をクリックすると、選択したリポジトリのキャッシュデータをすべて削除します。これはそのリポジトリのキャッシュを無効にするものではなく、次回ログデータが必要になると、新しいキャッシュを作成します。

ログキャッシュの統計データ

図4.85 設定ダイアログのログキャッシュ統計

設定ダイアログのログキャッシュ統計


詳細 ボタンをクリックすると、特定のキャッシュの詳細統計を表示します。ここではたくさんの項目が表示され、これは主に TortoiseSVN の開発者が興味を引く項目です。そのため、すべてを詳細に説明することはしません。

RAM

このキャッシュを提供するのに必要なメモリ量です。

ディスク

キャッシュに使用するディスクスペースです。データは圧縮されますので、ディスクの使用量は、一般的にかなり控えめになります。

接続状態

リポジトリが有効なキャッシュを、前回使用したかどうかを表示します。

最終更新日

最後にキャッシュの内容を更新した日時です。

最終取得日

サーバーから HEAD リビジョンを最後に取得した日時です。

作者

キャッシュに記録したメッセージの作者数です。

パス

svn log -v で見られるリストにある、パスの数です。

スキップ範囲

取得していないリビジョン範囲の数で、単純にリクエストしていないものです。キャッシュ内のホール数の尺度になります。

最大リビジョン

キャッシュに格納されている、リビジョン番号の最大値です。

リビジョン数

キャッシュに格納されているリビジョン番号の数です。キャッシュの完全性に関する別の尺度になります。

クライアント側フックスクリプト

図4.86 設定ダイアログの「フックスクリプト」ページ

設定ダイアログの「フックスクリプト」ページ


このダイアログでは、Subversion のアクションに合わせて自動的に実行される、フックスクリプトのセットアップを行えます。対照的に 「サーバー側フックスクリプト」 で説明しているフックスクリプトは、クライアントのローカルで実行されます。

ここで言うフックは、コミット後にバージョン番号を更新するため SubWCRev.exe のようなプログラムを起動したり、再構築のトリガになったりします。

なお、フックスクリプトは作業コピーの特殊なプロパティで指定することもできます。詳しくは、「TortoiseSVN のプロジェクトプロパティ」を参照してください。

図4.87 設定ダイアログのフックスクリプトの設定

設定ダイアログのフックスクリプトの設定


新しいフックスクリプトを追加するには、単に 追加 をクリックし、詳細を入力してください。

現在、次の種類のフックスクリプトが使用できます。

Start-commit

コミットダイアログを表示する前に呼ばれます。フックがバージョン管理下のファイルを変更したり、コミットするファイルのリストやコミットメッセージに影響を与える場合に使用してください。しかし、初期の段階でフックが呼ばれるため、コミット用に選択したオブジェクトの全リストは有効でないことに注意するべきです。

Manual Pre-commit

これが指定されると、コミットダイアログにフックを実行ボタンが表示され、クリックすると定義されたフックスクリプトが実行されるようになります。フックスクリプトはチェックされたファイルやフォルダーすべての一覧と、入力されていればコミットメッセージを受け取ります。

Check-commit

コミットダイアログでユーザーがOKをクリックした後、コミットダイアログが閉じる前に呼ばれます。このフックはチェックされたすべてのファイルの一覧を受け取ります。フックがエラーを返すと、コミットダイアログは閉じません。

改行で区切られたパスを含むエラーメッセージが返されると、エラーメッセージ表示後に表示されるコミットダイアログでこれらのパスが選択されます。

Pre-commit

コミットダイアログの OK をクリックした後、実際のコミットが始まる前に呼ばれます。このフックは実際にコミットするファイルのリストを持ちます。

Post-commit

コミットが完了した後で(成功・失敗に関わらず)呼ばれます。

Start-update

リビジョンへの更新ダイアログが表示される前に呼ばれます。

Pre-update

実際のSubversionの更新や切り替え操作が始まる前に呼び出されます。

Post-update

更新、切り替え、チェックアウト、が終了した後に(成功したかどうかにかかわらず)呼び出されます。

Pre-connect

リポジトリに接続を試みる前に呼び出されます。通常、およそ5分に1度の割合で呼び出されます。

フックは特定の作業コピーのパスに対して定義されます。最上位のパスのみ指定する必要があります。もし、サブフォルダーを操作する場合、TortoiseSVN は自動的に上位へマッチするかどうか検索を行います。

次に、実行するコマンドラインを、フックスクリプトや実行ファイルのパスから始めて指定する必要があります。ここではバッチファイルや実行可能ファイル、その他の Windows と関連付けられたファイル(例えば Perl スクリプト)を指定します。なお、Windows のセキュリティ上の制限で、Windows は UNC パスで指定されたスクリプトを実行しないため、この形式で指定することはできません。

コマンドラインには、TortoiseSVN が設定するパラメーターを含めます。呼ばれるフックによってパラメーターは異なります。各フックには以下の順番で渡されるパラメーターがあります。

Start-commit

PATHMESSAGEFILECWD

Manual Pre-commit

PATHMESSAGEFILECWD

Pre-commit

PATHDEPTHMESSAGEFILECWD

Post-commit

PATHDEPTHMESSAGEFILEREVISIONERRORCWD

Start-update

PATHCWD

Pre-update

PATHDEPTHREVISIONCWD

Post-update

PATHDEPTHREVISIONERRORCWDRESULTPATH

Pre-connect

no parameters are passed to this script. You can pass a custom parameter by appending it to the script path.

各パラメーターの意味は以下に説明する通りです。

PATH

操作を開始したときのすべてのパスを格納した一時ファイルのパスです。各パスは、一時ファイル内に 1 行ごと格納されています。

なお、操作がリモートで行われた場合(例えばリポジトリブラウザー内で)、それらのパスはローカルパスではなく、影響する項目のURLになります。

DEPTH

コミット・更新が完了した際の深さです。

以下のような有効な値があります。

-2

svn_depth_unknown

-1

svn_depth_exclude

0

svn_depth_empty

1

svn_depth_files

2

svn_depth_immediates

3

svn_depth_infinity

MESSAGEFILE

コミット用のログメッセージを格納しているファイルのパスです。このファイルには、UTF-8 エンコードのテキストが格納されています。start-commit フックの実行が完了すると、ログメッセージを読み返し、フックが変更する機会を与えます。

REVISION

更新したりコミットが完了したときの、リポジトリのリビジョンです。

ERROR

エラーメッセージを含むファイルのパスです。エラーがない場合、このファイルは空になります。

CWD

スクリプトを実行する現在の作業ディレクトリです。これはすべてに影響を与えるパスの、共通のルートディレクトリに設定されます。

RESULTPATH

操作によって何らかの変更があったすべてのパスを含む一時ファイルのパス名です。一時ファイル内ではパスが改行区切りで記述されます。

便宜上パラメーターに名前を付けましたが、フックの設定で、その名前を参照する必要はないことに注意してください。個々のフックに挙げたパラメーターはすべて、好むと好まざるとに関わらず常に渡されます ;-)

Subversion の操作を、フックスクリプトが完了するまで止めておきたい場合は、スクリプトが終了するまで待機 をチェックしてください。

通常、スクリプト実行時に不格好な DOS ウィンドウを隠しておきたいと思います。 そのため 実行時はスクリプトを非表示にする をデフォルトでチェックしてあります。

クライアントフックスクリプトのサンプルは、 TortoiseSVN リポジトリ サイトの contrib フォルダーから入手できます(リポジトリへのアクセス方法は、 「ライセンス」 をご覧ください。)

フックスクリプトをデバッグするとき、DOSコンソールに実行中の行を表示したり、スクリプトが実行完了したときにウィンドウが閉じるのを防ぐためにpauseを挿入したりしたくなったりすることがあるでしょう。入出力がリダイレクトされているため、これは正しく動作しません。しかし、入出力を明示的にCONにリダイレクトすることはできます。例えば、

echo Checking Status > con
pause < con > con

TortoiseSVN のインストールディレクトリに、 ConnectVPN.exe という小さいツールが含まれています。このツールを pre-connect フックとして使用すると、 TortoiseSVN がリポジトリにアクセスしようとする前に、自動的に VPN に接続できるようになります。ツールの最初の引数として、 VPN 接続の名前を渡すようにしてください。

課題追跡システムとの統合

TortoiseSVN は、コミットダイアログで課題管理システムにクエリを発行するために、COM プラグインを使用できます。そのようなプラグインの使用を、 「課題追跡システムからの情報取得」 で説明しています。システム管理者が、すでにインストールして登録したプラグインを提供している場合、どのように作業コピーと統合するかをここで指定します。

図4.88 設定ダイアログの「課題追跡システムとの統合」ページ

設定ダイアログの「課題追跡システムとの統合」ページ


特定の作業コピーでプラグインを使用するには、追加... をクリックしてください。ここで作業コピーのパス、登録済み課題管理システムプラグインのドロップダウンリストでの選択、渡す任意のパラメーターの指定ができます。パラメーターはプラグインに固有ですが、自分に割り当てられた課題をプラグインが抽出できるように、課題管理システムのユーザー名を含めるかも知れません。

プロジェクトのすべてのユーザーで同じ COM プラグインを使用する場合は、bugtraq:provideruuidbugtraq:provideruuid64bugtraq:providerparamsをプロパティとして設定することができます。

bugtraq:provideruuid

IBugtraqProvider の COM UUID (例えば、{91974081-2DC7-4FB1-B3BE-0DE1C8D6CE4E})を指定します。(この例は Google Code の課題管理システム向けプロバイダーである Gurtle bugtraq provider の UUID です)。

bugtraq:provideruuid64

これは bugtraq:provideruuid と同様ですが、64ビット版の IBugtraqProvider です。

bugtraq:providerparams

このプロパティは、IBugtraqProvider に渡すパラメーターを指定します。

2つのプロパティに何を設定するか調べるには、 IBugtraqProvider プラグインのドキュメントを参照してください。

TortoiseBlame の設定

図4.89 設定ダイアログの「TortoiseBlame」ページ

設定ダイアログの「TortoiseBlame」ページ


TortoiseBlame で使用する設定は、TortoiseBlame 自体ではなく、メインのコンテキストメニューから設定します。

TortoiseBlame では、ファイルにある行の古さを背景色で表現します。ここでは、最新と最古の両端のリビジョンの色を指定します。 TortoiseBlame はこの 2 色の中間色を使用して、行単位のリポジトリのリビジョンを表現します。

表示位置調整バーで使用する差分の色を指定することができます。デフォルトでは、メインウィンドウで文字を読みやすいよう背景の明るさを維持​​しながら、表示位置調整バーと強いコントラストをなす色が使われています。

フォント

ここでは、テキストを表示するフォントとポイントサイズを指定できます。ここで指定されたフォントは、ファイルの内容と、左画面に表示する作者とリビジョンの両方に使用されます。

タブ

ファイルの内容にタブ文字があった場合、空白を何文字使用して展開するかを定義します。

TortoiseUDiff設定

図4.90 設定ダイアログの「TortoiseUDiff」ページ

設定ダイアログの「TortoiseUDiff」ページ


TortoiseUDiffで使用する設定は、TortoiseUdiff自体ではなく、メインのコンテキストメニューから設定します。

TortoiseUDiffのデフォルト色はふつう良いのですが、ここで設定することができます。

フォント

画面に表示される文字列のフォントや大きさ(ポイント単位)を選択できます。

タブ

差分の内容にタブ文字があった場合、空白を何文字使用して展開するかを定義します。

TortoiseSVN の設定のエクスポート

図4.91 設定ダイアログの「同期」ページ

設定ダイアログの「同期」ページ


TortoiseSVNのすべての設定を、暗号化ファイルと同期させることができます。ファイルは入力したパスワードで暗号化されるので、OneDriveやGDriveやDropBoxのようなクラウドフォルダーに入れても心配ありません。 You can sync all TortoiseSVN settings to and from an encrypted file. The file is encrpyted with the password you enter so you don't have to worry if you store that file on a cloud folder like OneDrive, GDrive, DropBox, ...

パスとパスワードが設定されると、TortoiseSVNは自動的にすべての設定を同期し、その後も同期し続けます。

すべての設定を手動で暗号化ファイルにエクスポートしたり、暗号化ファイルからインポートしたりすることもできます。その場合、パスと設定ファイルの暗号化処理のためのパスワードを尋ねられます。

設定を手動でエクスポートするとき、通常のエクスポートや同期では含まれないすべてのローカル設定を含めることもできます。ローカル設定はローカルパスを含みますが、これはふつうコンピューター間で異なります。ローカル設定は差分・マージツールの設定やフックスクリプトを含みます。

高度な設定

使用頻度の低い一部の設定は、設定ダイアログの高度な設定ページでのみ設定できます。これらの設定はレジストリを直接操作するので、それぞれの設定が何をするのかを理解しておく必要があります。これらの変更がどうしても必要な場合を除いて、これらの設定を変更しないでください。

AllowAuthSave

同じコンピューター上で、複数のユーザーが同じアカウントを使用していることがあります。このような場合、認証データを保存すべきでないことがあります。この値を false にせ底すると、認証ダイアログの認証を保存ボタンを無効にすることができます。

AllowUnversionedObstruction

アップデートによって、すでにローカルの作業コピーに同じ名前が存在する新しいファイルを取得したとき、デフォルトの動作はローカルファイルを保持し、リポジトリからの新しいファイルは(可能ならば)変更後のバージョンとして表示します。 false に設定すると、 TortoiseSVN がこれを競合として扱うようになります。

AlwaysExtendedMenu

エクスプローラーでは Shift キーを押しながらコンテキストメニューを開くと、 TortoiseSVN の追加コマンドが表示されます。常に追加コマンドを表示させたい場合は、 true に設定してください。

AutoCompleteMinChars

エディターが自動補完のポップアップを表示する最小文字数です。既定値は3です。

AutocompleteRemovesExtensions

コミットメッセージのエディターでは、コミットするファイルが自動保管リストで表示されます。 true に設定すると、拡張子を除外した名前を表示するようになります。

BlockPeggedExternals

特定のペグリビジョンに関連付けられたを外部ファイルは、デフォルトではコミット時に選択できないようになっています。これは、後に更新するときに、外部ファイルのペグリビジョンが修正されていないと変更が元に戻ってしまわないようにするためです。

それでもこの様な外部ファイルの変更をコミットしたいのであれば、この値を false に設定してください。

BlockStatus

TortoiseSVN の他のコマンド(例えば更新、コミット、など)が動作している間、エクスプローラーのステータスオーバーレイを更新したくない場合は、この値を true に設定してください。

CacheTrayIcon

TSVNCache にトレイアイコンのキャッシュを追加するには、この値を true に設定してください。これはプログラムを正規に終了させるために必要なもので、開発者にのみ有用な設定です。

ColumnsEveryWhere

作業コピーを Windows エクスプローラーの詳細表示で表示させたとき、TortoiseSVNが列を追加します。作業コピーばかりでなくどこでも列を追加したい場合、この値を true に設定してください。なお、列の追加はWindows XPでしか行われず、Vista以降ではこの機能はサポートされていません。 ただし、サードパーティー製のエクスプローラーによっては、WindowsのバージョンがXP以降であってもサポートされることがあります。

ConfigDir

Subversion の設定ファイルを別な場所に設定することができます。これはすべての TortoiseSVN の操作に影響します。

CtrlEnter

TortoiseSVN の多くのダイアログでは、 Ctrl+Enter を押すことで OK ボタンを押したときと同様にダイアログを閉じることができます。 この値をfalse に設定すると、この機能は無効になります。

Debug

trueに設定すると、 TortoiseProc.exe を使用して開始されるたびにあらゆるコマンドについて、ポップアップダイアログでコマンドラインの内容を表示できます。

DebugOutputString

TortoiseSVN が実行中にデバッグメッセージを表示させたい場合は、これをtrueに設定してください。メッセージは、特殊なデバッグツールのみでキャプチャすることができます。

DialogTitles

ダイアログタイトルのデフォルトの書式(0に設定時)は、URL/パス - ダイアログ名 - TortoiseSVN です。この値を1に設定すると、書式が ダイアログ名 - URL/パス - TortoiseSVN になります。

DiffBlamesWithTortoiseMerge

TortoiseSVN は外部の差分ビューアーを使用することができます。しかし、多くのビューアーには注釈履歴 (「注釈履歴の差分」)が統合されていませんので、その場合はTortoiseMerge に戻したくなることもあるでしょう。そのためには、この値をtrueに設定してください。

DlgStickySize

この値はダイアログが境界にくっつく際の接近距離をピクセル数で指定します。既定値は3です。この値を無効にするには、0に設定してください。

FixCaseRenames

アプリケーションによっては、必要でもないのに勝手に、通知なしでファイル名の大文字/小文字を変えてしまうものがあります。例えば、 file.txtFILE.TXT に変わっても、 Windows アプリケーションでは困りませんが、 Subversion ではこのような場合にも大文字/小文字を区別してしまいます。そのため、 TortoiseSVN ではこのような大文字/小文字の変更を自動的に修正します。

もし、 TortoiseSVN が自動的に大文字/小文字の修正を行ってほしくない場合、この値を false に設定してください。

FullRowSelect

様々なダイアログ(例えばコミット、変更をチェック、追加、変更の取り消し、など)のリストコントロールを、全行選択(つまり、項目を選択する際に、最初のカラムではなく行全体を選択すること)にします。これは使いやすいのですが、行全体が反転するため、右下の背景画像に重なると醜くなってしまうことがあります。全行選択を解除する場合は、この値を false に設定してください。

GroupTaskbarIconsPerRepo

このオプションは、様々なTortoiseSVNのダイアログやウィンドウが、Windows 7のタスクバー内でグループ化される方法を決定します。このオプションは、Vistaでは効果がありません。

  1. 既定値は0です。この設定では、アイコンがアプリケーションの種類によってグループ化されます。TortoiseSVNのすべてのダイアログがひとつにグループ化され、TortoiseMergeのすべてのウィンドウがひとつにグループ化される・・・という形です。

    図4.92 タスクバーでのデフォルトのグループ化

    タスクバーでのデフォルトのグループ化


  2. 1に設定すると、すべてのダイアログがアプリケーション単位ではなく、リポジトリ単位でグループ化されます。たとえば、リポジトリAのログダイアログとコミットダイアログが開いていて、リポジトリBの変更のチェックダイアログとログダイアログが開いていた場合、Windows 7のタスクバーには2つのアプリケーションアイコングループが表示され、それぞれリポジトリごとにグループ化されます。但し、TortoiseMergeのウィンドウは、TortoiseSVNのダイアログと同じグループにはなりません。

    図4.93 タスクバーでのリポジトリ毎のグループ化

    タスクバーでのリポジトリ毎のグループ化


  3. 2に設定すると、1に設定した場合と同様にグループ化されますが、 TortoiseSVN、 TortoiseMerge、 TortoiseBlame、 TortoiseIDiff、 TortoiseUDiff のウィンドウも一緒にグループ化されます。たとえば、コミットダイアログが開いているときに変更されたファイルをダブルクリックした場合、 TortoiseMerge の差分ウィンドウが開きますが、タスクバー上ではコミットダイアログと同じアイコングループに含められます。

    図4.94 タスクバーでのリポジトリ毎のグループ化

    タスクバーでのリポジトリ毎のグループ化


  4. 3に設定すると、1に設定した場合と同様にグループ化されますが、リポジトリごとではなく作業コピーごとにグループ化されます。これは、同じリポジトリですべてのプロジェクトを管理し、プロジェクトごとに異なる作業コピーを使用している場合に便利です。

  5. 4に設定すると、2に設定した場合と同様にグループ化されますが、リポジトリごとではなく作業コピーごとにグループ化されます。

HideExternalInfo

falseに設定すると、すべてのsvn:externalsがアップデート中に個別に表示されます。

trueに設定した場合(デフォルト)、外部参照の更新情報が更新の影響を受けたかどうかのみ(何かが変更された等)が表示されます。通常のファイルやフォルダーの情報は表示されません。

GroupTaskbarIconsPerRepoOverlay

GroupTaskbarIconsPerRepo オプションを0に設定した場合は、効果がありません(上記参照)。

このオプションを true に設定すると、 Windows 7 のタスクバーにはダイアログやウィンドウで使用されているリポジトリを識別するための、色のついた四角の小さいオーバーレイが表示されます。

図4.95 タスクバーでのグループ化にリポジトリのカラーオーバーレイが付いた様子

タスクバーでのグループ化にリポジトリのカラーオーバーレイが付いた様子


IncludeExternals

デフォルトでは、 TortoiseSVN は常に外部参照を含めて更新を行います。これは作業コピーの一貫性の問題を回避することができます。しかし、外部参照のセットが多い場合、更新に時間がかかるようになります。この値をfalseに設定すると、デフォルトでは外部参照を含めずに更新されるようになります。外部参照を含めて更新するには、特定リビジョンへ更新...を実行するか、この値を再びtrueに設定します。

LogFindCopyFrom

ログダイアログがマージウィザードから起動されると、すでにマージされたリビジョンは灰色で表示されますが、ブランチが作成された後のリビジョンも表示されます。それらをマージすることができないため、これらのリビジョンは黒で示されています。

このオプションを true に設定すると、 TortoiseSVN はブランチが作成されたリビジョンを、そのリビジョン以降の隠されたリビジョンからも検索しようとします。これには時間がかかるので、このオプションはデフォルトで無効になっています。このオプションは、 SVN サーバーによっては動作しないことがあります(例えば、Google Code Hosting の issue #5471 を参照)。

LogMultiRevFormat

ログダイアログで複数のリビジョンが選択された時のログメッセージの書式文字列です。

書式文字列では、次のプレースホルダーを利用できます。

%1!ld!
リビジョン番号に置換されます
%2!s!
リビジョンの短いログメッセージに置換されます
LogStatusCheck

ログダイアログでは、作業コピーのリビジョンを太字で表示します。しかし、ログダイアログがパスの状態を確認する必要があります。そのため、非常に大きい作業コピーでは時間がかかります。この値を false に設定すると、この機能を無効にすることができます。

MergeLogSeparator

別のブランチからのリビジョンをマージし、マージ追跡情報が使用可能になると、マージされたリビジョンのログメッセージは、コミット時のログメッセージを構成するために収集されます。各リビジョンの個々のログメッセージは、あらかじめ定義された区切り文字列で区切られます。必要に応じて、任意の区切り文字列を指定してください。

NumDiffWarning

ここに指定された数よりも多くの項目の差分を表示しようとした場合、警告ダイアログが最小に表示されます。既定値は10です。

OldVersionCheck

TortoiseSVN は週に一度、新しいバージョンが出ているかどうかをチェックします。新しいバージョンが見つかると、コミットダイアログにリンクコントロールが表示されます。 true に設定すると、以前のようにアップデートを通知ダイアログで行うようになります。

RepoBrowserTrySVNParentPath

リポジトリブラウザーは、すべてのリポジトリの一覧を取得するために、SVNサーバーがSVNParentPathディレクティブの指定に従って作成するウェブページにアクセスを試みます。この動作を無効にするには、この値をfalseに設定して下さい。

ScintillaDirect2D

このオプションは、コミットダイアログやunified差分ビューアーなどで使用されているScintillaコントロールで、Direct2Dによるアクセラレーション描画を有効にします。一部のグラフィックカードでは、文字を入力するカーソルが表示されっぱなしになるなどの不具合が発生します。このような場合、この値をfalseにすることでこの機能を無効にしてください。

OutOfDateRetry

作業コピーが最新ではないとエラーが表示された後で、TortoiseSVN が作業コピーを更新するかどうかユーザーに自動的に確認させたくない場合はこの値を false に設定してください。

ShellMenuAccelerators

TortoiseSVN はエクスプローラーのコンテキストメニュー項目に設定されているアクセラレータを使用します(例えば SVN コミット のアクセラレータは Alt+C ですが、エクスプローラーの コピー 項目と重複します)。 TortoiseSVN のエントリでアクセラレータを設定する必要がない場合は false に設定してください。

ShowContextMenuIcons

これは Windows エクスプローラー以外のものを使用したり、コンテキストメニューが正しく表示できないといった問題が発生したりしたときに便利です。 false に設定すると、シェルのコンテキストメニューに TortoiseSVN のアイコンが表示されなくなります。アイコンを表示する場合は、true を設定してください。

ShowAppContextMenuIcons

false に設定すると TortoiseSVN のダイアログで、コンテキストメニューのアイコンが表示されなくなります。.

StyleCommitMessages

コミットダイアログとログダイアログでは、コミットメッセージに装飾(例えばボールド、イタリックなど)を使います(詳しくは 「コミットログメッセージ」 を参照してください)。これを無効にしたい場合は false に設定してください。

UpdateCheckURL

この値は、TortoiseSVN が有効なアップデートがあるかどうかを検査するためのテキストファイルをダウンロードする URL です。企業の管理者が通知するまでユーザーに TortoiseSVN をアップデートさせたくない場合などに有効です。

VersionCheck

TortoiseSVN は週に一回程度、使用可能な新しいバージョンがあるかどうかを確認します。 TortoiseSVN にこのチェックを行わせたくない場合は、この値を false に設定してください。