マウスポインタをしばらくエディットボックスやチェックボックスなどの上に置いておくと、ヘルプのツールチップがポップアップして、設定がなんのために変更できるのかが分かります。
このダイアログでは、好みの言語を指定したり、Subversion 特有の設定を行うことができます。
ユーザインターフェースの言語を選択してください。他に何かありますか?
チェックすると、TortoiseSVN は週に一度、プログラムの新バージョンがないかダウンロードサイトに接続します。すぐに答えが知りたければ、
を使用してください。新バージョンがダウンロードされるわけではありません。単に新バージョンがあるという、情報ダイアログが表示されるだけです。TortoiseSVN にはデフォルトでカスタムサウンドが 3 つインストールされています。
エラー
注意
警告
Windows のコントロールパネルで別のサウンド (もしくは完全に OFF) を選択できます。
はコントロールパネルへのショートカットです。共通無視パターンはバージョン管理外のファイルを、コミットダイアログなどに表示しないようにするのに使用します。パターンにマッチしたファイルはインポートでも無視されます。除外するファイルやディレクトリは、名前や拡張子で判断します。パターンは空白で区切り、bin obj *.bak *.~?? *.jar *.[Tt]mp
のようにします。このパターンにはパス区切り文字が必要ありません。ファイルとディレクトリを区別する方法はないことに注意してください。パターンマッチの文法といった詳細情報は、「無視リストでのパターンマッチ」 をご覧ください。
ここで指定した無視パターンは、同じPCで動作する他の Subversion クライアント (コマンドラインクライアントを含む) でも有効になることに注意してください。
共通無視
パターンを設定した Subversion 設定ファイルを使用すると、ここでした設定を上書きしてしまいます。Subversion の設定ファイルには、下にある でアクセスできます。
この無視パターンはすべてのプロジェクトに影響を与えます。バージョン管理されませんので、他のユーザには影響しません。対照的に、バージョン管理で svn:ignore
属性を使用し、バージョン管理からファイルやディレクトリを除外することもできます。詳細は 「無視するファイルとディレクトリ」 をご覧ください。
このオプションはチェックアウトや更新時にコミット時の日時をファイルの日時として使うよう、TortoiseSVN に指示します。そうでなければ、TortoiseSVN は現在の日時を使用します。ソフトウェアを開発しているなら、ビルドシステムがコンパイルの要否を判断するのにタイムスタンプを使用するので、現在の日付にしておくのが最善でしょう。「最後にコミットした日付」 を使用していて、ファイルを古いリビジョンに戻す場合、プロジェクトがコンパイルされない可能性があります。
Subversion 設定ファイルを直接編集するには config
ファイルについての詳細情報は、Runtime Configuration Area をご覧ください。Automatic Property Setting の節には興味深い項目があり、これはここで設定します。Subversion は複数の設定情報を読み込めますが、その優先順位を知っておかなくてはならないことに注意してください。詳細は Configuration and the Windows Registry を参照してください。
.svn
ディレクトリの代わりに、_svn
を使用するweb プロジェクトを使用する際、Subversion が内部情報を格納する .svn
フォルダを、VS.NET は扱えません。これは Subversion のバグではありません。VS.NET とそこで使用する frontpage 拡張のバグです。この件に関してもっと調べるには 「Subversion の作業フォルダ」 をご覧ください。
Subversion や TortoiseSVN の振る舞いを変更する場合、これを制御する環境変数を設定するのに、チェックボックスを使用できます。
このオプションを変更すると、既存の作業コピーを新しい管理下のディレクトリに、自動でコンバートできないことに注意してください、スクリプトを使って自分で行うか、単純に新しい作業コピーをチェックアウトする必要があります。
このページでは、メインコンテキストメニューと TortoiseSVN サブメニューに現れる TortoiseSVN コンテキストメニューエントリを指定できます。デフォルトでは、ほとんどの項目にチェックが付いておらず、サブメニューに表示されません。
ロックを取得 は特殊です。もちろん上のリストを用いてトップレベルに表示できますが、ロックの必要がないほとんどのファイルにとっては乱雑なだけです。しかし、svn:needs-lock
属性が設定されているファイルには、いつでも編集できるように、このアクションが必要です。この場合トップレベルに表示している方が便利です。このボックスをチェックしておくと、svn:needs-lock
属性が設定されているファイルを選択すると、ロックを取得 がいつでもトップレベルに表示されるようになります。
TortoiseSVN のコンテキストメニューにも現れて欲しくない、コンピュータ上のパスがある場合、下にあるボックスの項目を一覧できます。
このダイアログでは、TortoiseSVN のダイアログをお好みに設定できます。
→ を選択して最初に TortoiseSVN が趣得するログメッセージの数を制限します。サーバへの接続が遅い場合に便利です。もっとメッセージを取得するには や をいつでも使用できます。
リビジョンログダイアログ中央ペインのログメッセージを表示するフォントとサイズを指定します。これは、コミットダイアログのログメッセージ編集時にも使われます。
標準の長いメッセージ形式で使用するには画面が狭い場合、短い形式を利用します。
ログダイアログの上部ペインでリビジョンを比較しているなら、ダブルクリックで実行するため、このオプションを使用できます。差分の取得は長いプロセスになりがちなので、デフォルトでは有効ではありません。また、多くの人は間違ってダブルクリックしたあとで待ちたくないでしょうから、その意味でもデフォルトで有効にしていません。
TortoiseSVN はアクション中にエラーがなく終了すると、進行ダイアログを自動で閉じることができます。この設定でダイアログを閉じる条件を選択できます。デフォルト (お勧め) 設定は 手動で閉じる で、全メッセージを見て、何が起きたのかチェックできます。しかし、ある種のメッセージは無視して、重要な変更がなければ自動で閉じてもらいたいということもあります。
マージ、追加、削除が無い場合は自動的に閉じる は、単純な更新のみの場合は進行ダイアログを閉じますが、リポジトリからの変更をマージする必要がある場合や、ファイルの追加・削除がある場合はダイアログを開いたままにします。また処理中に、なんらかの競合やエラーが発生した場合にも開いたままになります。
手元の操作でマージ、追加、削除が無い場合は自動的に閉じる は、マージ、追加、削除が無い場合は自動的に閉じる のように進行ダイアログを閉じますが、ファイルの追加や、変更の取り消しなど手元の操作の場合のみに作用します。リモート操作では、ダイアログが開いたままになります。
競合がない場合は自動的に閉じる はもっと基準をゆるめ、マージ、追加、削除が起きてもダイアログを閉じますが、競合が発生した場合はダイアログを開いたままにします。
エラーがない場合は自動的に閉じる は競合があっても常にダイアログを閉じます。ダイアログが開いたままになる条件は、Subversion が処理を継続できないようなエラーの発生です。例えば、サーバにアクセスできずに更新が失敗したり、作業コピーが最新ではなくコミットができない場合です。
ローカルの変更を元に戻す際、あなたの変更は破棄されます。TortoiseSVN は元のコピーに戻す前に、変更したファイルをゴミ箱に送るというセーフティネットを用意しています。ゴミ箱に入れるのをスキップしたい場合は、このオプションのチェックを外してください。
マージダイアログでは、デフォルトの動作は 元: の URL を記憶している所にマージします。しかし、階層内のいくつもの違う場所からマージを実行したい人もいますし、現在の作業コピーの URL からはじめる方が簡単な場合があります。また、別のブランチにある平行したパスを参照しながら編集するのにも利用できます。
チェックアウトのデフォルトパスを指定できます。チェックアウトした物をすべて一カ所に保持しておく場合、ドライブやフォルダをあらかじめ設定しておいてくれ、最後に新しいフォルダ名を追加するだけですみます。
チェックアウトのデフォルト URL も指定できます。非常に大きいプロジェクトのサブプロジェクトをちょくちょくチェックアウトする場合、URL をあらかじめ設定しておいてくれ、最後にサブプロジェクト名を追加するだけですみます。
チェックされている (デフォルト状態) と、常にバージョン管理外のフォルダ (とそれ以下のすべてのファイル・フォルダ) を 追加, コミット, 変更をチェック ダイアログに表示します。チェックしないと、バージョン管理外の先頭しか表示しません。チェックしなければ、上記のダイアログを散らかさずにすみます。この場合、バージョン管理外のフォルダを追加するよう選択すると、再帰的に追加します。
コミットダイアログはコミットするファイル名の一覧を保持しています。一覧にある項目の始めの 3 文字をタイプすると、自動補完ボックスがポップアップし、Enter を押すとファイル名が補完されます。チェックするとこの機能が有効になります。
大きなファイルをチェックしていて、自動補完パーサが遅すぎることがあります。コミットダイアログが長い時間止まってしまうのなら、ここで指定した時間でタイムアウトするようになります。重要な自動補完情報を見逃してしまうのなら、タイムアウトを長くできます。
tsvn:projectlanguage
が設定されている場合はスペルチェッカを利用するコミット時にスペルチェッカを使用しない場合、ここにチェックをつけてください。プロジェクト属性で必要だと指定したときだけ、動作するようになります。
コミットダイアログでログメッセージを入力すると、TortoiseSVN は後で再利用できるようにメッセージを記憶します。デフォルトでは、リポジトリごとに最新のログメッセージを 25 個記憶していますが、ここでその数をカスタマイズできます。たくさんの異なるリポジトリがあるなら、レジストリがいっぱいにならないように、少なくしておくといいでしょう。
この設定は、このコンピュータで入力したメッセージにのみ適用されることに、ご注意ください。ログキャッシュには何も影響を与えません。
何らかの理由でコミットが失敗 (作業コピーを更新する必要があったり、pre-commit フックスクリプトがコミットを拒否したり、ネットワークエラーなど) したときに、もう一度できるようにコミットダイアログを開いたままにするのに、このオプションを選択できます。しかし、このオプションが原因で問題が起こる可能性があることを知っておいてください。作業コピーを更新する必要があるという理由で失敗した場合、更新して競合が発生したら、まずこれを解決しなければなりません。
コミットダイアログの通常動作は、全ての (バージョン管理下の) 変更があるファイルをコミットするよう、自動的に選択します。はじめに何も選択せず、コミットする項目を自分で選択する場合、このチェックボックスのチェックを外してください。
デフォルトで、変更をチェックダイアログが作業コピーのチェックをするようになります。また、
をクリック時にリポジトリへの接続のみ行うようになります。リポジトリを常にチェックしたい場合、この設定で自動的にチェックが行われるようになります。ひとつないし複数のファイルを選択し、
→ を使用してそのファイルをロックする際、プロジェクトによっては、なぜそのファイルをロックしたかを説明するロックメッセージを書くことになっています。ロックメッセージを使用しない場合には、このチェックボックスのチェックをはずすと、ダイアログをスキップし、すぐにファイルをロックします。フォルダにたいしてロックコマンドを使用する場合、ロックするファイルを選択するため、常にロックダイアログを表示します。
プロジェクトで tsvn:lockmsgminsize
属性を使用している場合、そのプロジェクトはロックメッセージが 必須 なので、設定がどうであってもロックダイアログを表示します。
このダイアログでは、TortoiseSVN のダイアログで使用するテキストの色をお好みに変更できます。
更新中やマージ中に発生した競合。既存のバージョン管理外のファイル・フォルダと同じ名前のバージョン管理下のものがあると更新は妨害されます。
進行ダイアログのエラーメッセージにも使用します。
リポジトリに追加した項目。
リポジトリから削除された項目、作業コピーから紛失した項目、作業コピーから削除された項目、同じ名前で置き換えられた項目。
リポジトリからの変更を、競合もなく作業コピーにうまくマージしました。
履歴に追加されるかリポジトリ内のパスをコピーした項目。ログダイアログでも、コピーされた項目を含む場合に使用されます。
リポジトリからすでに削除された項目。
(追加・コピー・移動操作で) リポジトリに追加した項目。
リポジトリで名前の変更があった項目。
元の項目が削除され、同じ名前で新しく作成された項目。
リビジョングラフは、トランク、ブランチ、タグを見分けることで、リポジトリを明確に可視化しようとします。これは Subversion に組み込まれた分類ではなく、パス名から抽出した情報です。デフォルト設定では、Subversion のドキュメントで推奨されている英語名規約ですが、もちろんあなたの使い方はことなるかもしれません。
みっつの矩形で表すパスを、認識するため使用するパターンを指定してください。パターンは大文字小文字を区別しませんが、小文字で書いてください。*
や ?
といったワイルドカードはいつものように使用できます。また、;
で複数のパターンを区切ってください。マッチングに使用されてしまうため、余計な空白は含めないでください。
リビジョングラフで、ノードタイプ (つまり追加、削除、名前変更といったノード) を表すのに使用する色です。ノードの分類を識別するため、ノードタイプと分類の両方を表示するよう、リビジョングラフに色をませるよう指示できます。このチェックが付いていないと、ノードタイプを表すためだけに色を使用します。使用するそれぞれの色を指定するには、色選択ダイアログを使用してください。
このページでは使用する色を設定できます。ここで指定する色は、無地の色であることにご注意ください。ほとんどのノードでは、ノードタイプ色と背景色、必要に応じて分類色を混ぜた色で着色されます。
削除され、同じリビジョンのどこにもコピーされていない項目です。
新しく追加されたか、コピー (履歴とともに追加) された項目です。
ある場所から削除され、同じリビジョンの別の場所に追加された項目です。
追加も削除もされず、単純に変更された項目です。
(グラフに表示する) 変更がまったくそのリビジョンで発生しなかったとしても、コピー元として使用されるリビジョンを表示するのに使用される場合があります。
リポジトリにある現在の HEAD リビジョンです。
変更された作業コピー向けに追加ノードを表示するよう選択した場合、グラフに追加された最終コミットリビジョンは、この色を使用します。
作業コピーが変更されたことを表示するように選択した場合、変更を検出すると作業コピーの境界線にこの色を使用します。
タグとして分類されたノードは、この色が混ざることがあります。
トランクとして分類されたノードは、この色が混ざることがあります。
領域を節約するためにタグを折りたたんだ場合、コピー元において、タグはこの色のブロックを使用してマークされます。
ノードを選択するためクリックしたままにした場合、選択状態を表すマーカはこの色のかたまりとなります。
グラフがサブツリーに分割された時にその色を使い、背景にその他の色が付いている場合、分割ツリーを際だたせるため、縞模様にします。
このページでは、TortoiseSVN が表示するアイコンオーバーレイの項目を選択できます。
デフォルトでは、オーバレイアイコンやコンテキストメニューは 開く・保存ダイアログでも、Windows エクスプローラのように表示されます。Windows エクスプローラでのみ表示するようにするなら、エクスプローラ上でのみオーバレイを表示する をチェックしてください。
無視する項目やバージョン管理外の項目は、通常オーバーレイを表示しません。これらもオーバーレイを表示する場合は、このチェックボックスにチェックしてください。
バージョン管理外のファイルを含むフォルダに、変更済マークをつけるようにもできます。これにより、まだバージョン管理下に入れてない新しいファイルを作成したのを、覚えておくのに便利です。このオプションは、キャッシュオプション (後述) が デフォルト の場合にのみ有効です。
作業コピーの状態を取得するには時間がかかるため、エクスプローラがオーバーレイアイコンを表示するのに負荷がかからないように、TortoiseSVN は状態をキャッシュに格納します。システムや作業コピーのサイズをもとに、TortoiseSVN が使用するキャッシュタイプを以下から選択できます。
別のプロセス (TSVNCache.exe
) がすべての状態情報をキャッシュします。このプロセスは、全ドライブの変更を監視し、作業コピー内のファイルが更新されれば、その状態情報を再取得します。優先度が最低で動作しますので、他のプログラムが、これによりリソースをとられてしまうことはありません。これは状態情報が リアルタイム で更新されないということでもありますが、数秒でオーバーレイアイコンは更新されます。
利点: オーバーレイアイコンは状態を再帰的に表示します。つまり、作業コピーの深いところにあるファイルが更新されると、作業コピーのルートまでの全フォルダにも更新オーバーレイアイコンが付きます。さらにプロセスがシェルに通知を送れるのなら、通常、左のツリービューのオーバーレイも変更します。
欠点: プロジェクトについて作業をしていないときでも、プロセスが一定に動作しています。さらに、作業コピーのサイズ・数量にも依存しますが、およそ 10-50 MB の RAM を使用します。
シェル拡張 dll の内部で直接キャッシュします。別のフォルダに移るたびに、ステータス情報を取得します。
利点: メモリ消費がとても少なく (およそ 1 MB の RAM) てすみます。また、状態をリアルタイム に表示します。
欠点: 1 つのフォルダしかキャッシュしないため、オーバーレイアイコンは状態を再帰的に表示しません。大きな作業コピーでは、デフォルトのキャッシュよりも、エクスプローラのフォルダ表示に時間がかかります。また、mime-type 列が利用できません。
この設定では、TortoiseSVN はエクスプローラで状態をまったく取得しません。このため、ファイルはオーバーレイアイコンを取得できず、バージョン管理されたフォルダは 「通常」のオーバーレイアイコンしか取得しません。他のオーバーレイは表示されず、他の方法では有効だった、追加の列は無効になります。
利点: 追加でメモリを使用することは絶対になく、閲覧中にエクスプローラが遅くなることもありません。
欠点: ファイル・フォルダの状態情報は、エクスプローラに表示されません。作業コピーの変更点を見るには、「変更をチェック」 ダイアログを使用しなければなりません。
次のグループでは、オーバーレイを表示するストレージの種類を選択できます。デフォルトでは、ハードディスクドライブしか選択されていません。アイコンオーバレイをすべて無効にもできますが、そんなことしたいですか?
ネットワークドライブはとても遅いので、デフォルトでは、ネットワーク共有上にある作業コピーにアイコンを表示しません。
USB フラッシュドライブは、ドライブタイプがデバイスそのもので特定されるので、特殊なケースのように思えます。ある種のものは固定ドライブに見え、別のある種のものはリムーバブルドライブに見えます。
除外するパス は、アイコンオーバーレイや状態列を表示しないよう TortoiseSVN に指示する場合に使用します。変更する予定のないライブラリのみを含む非常に大きな作業コピーがあって、オーバーレイさせる必要がない場合に便利です。以下に例を示します。
f:\development\SVN\Subversion
では、指定したフォルダ のみ オーバーレイを無効にします。このフォルダ内の全ファイル・フォルダのオーバーレイはまだ見ることができます。
f:\development\SVN\Subversion*
では、f:\development\SVN\Subversion
で始まる すべて のファイル・フォルダでオーバーレイが無効になります。このパス以下のいずれのファイル・フォルダでもオーバーレイをさせたくないという意味になります。
含めるパス にも同じことが言えます。オーバーレイが無効になるドライブタイプや、除外パスで指定したパスでも、オーバーレイされるようになります。
この 3 つの設定はどのように影響するのかといった問い合わせが、たまにあります。間違いない回答は以下になります。
if (含めるリストにあるパス) オーバーレイを表示 if (許可されたドライブの種類に属するパス) AND (除外するリストにないパス) オーバーレイを表示
含めるリストは 常に オーバーレイを表示します。一方、ドライブの種類でチェックされたドライブは、除外するパスを 除いて、すべて表示されます。
TSVNCache.exe は、検索するパスを制限することもできます。特定のフォルダ以下のみを見たい場合は、全ドライブタイプで無効にし、スキャンしたい特別なフォルダのみを含めてください。
SUBST
ドライブの除外作業コピーにアクセスするのに、以下のように SUBST
ドライブを使用すると便利なことがあります。
subst T: C:\TortoiseSVN\trunk\doc
しかし、TSVNCache
がファイルが変更されたという通知をひとつしか受け取れず、それは通常オリジナルパスに対してであるため、オーバーレイを更新できません。これは、subst
パスのオーバーレイはまったく更新されない可能性があるということでもあります。
これに対処する簡単な方法は、オーバーレイ表示からオリジナルのパスを除外し、代わりに subst
パスにオーバーレイを表示することです。
時には、作業コピーに含まれる領域を TSVNCache の検索・変更監視から除外し、しかしバージョン管理下であることを視覚表示したいことがあります。'通常' として除外フォルダを表示する チェックボックスで、そのようにできます。このオプションにより、除外領域 (チェックしないドライブタイプや除外指定した場所) にあるバージョン管理下のフォルダには、緑のチェックマークで、通常でかつ最新であるという表示がつきます。これにより、作業コピーを見ていることをお知らせしますが、フォルダのオーバーレイはおそらく正しくないでしょう。ファイルには、オーバーレイがまったく付きません。オーバーレイは表示されませんが、コンテキストメニューは有効なことにご注意ください。
この特殊な例外として、A:
ドライブと B:
ドライブは'通常' として除外フォルダを表示する オプションのようには動作しません。これは、Windows がエクスプローラの起動時に、PC にフロッピードライブがあっても、数秒の遅延が考えられるドライブを強制的に参照するからです。
リポジトリごとにプロキシの設定をする必要がある場合、設定に 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 にガイドがあります。
ここでは、TortoiseSVN が使用する 差分/マージプログラムを定義できます。基本設定では TortoiseSVN と一緒にインストールされる TortoiseMerge が使われます。
TortoiseSVN と一緒に使用する外部 差分/マージプログラムの一覧は、「外部 Diff/Merge ツール」 をご覧ください。
外部差分プログラムは、ファイルを異なるリビジョン間で比較するのに使用します。外部プログラムは、それぞれのコマンドラインオプションに従って、コマンドラインからファイル名を取得する必要があります。TortoiseSVN は %
が先頭についた置換パラメータを使用します。このパラメータが現れると、適切な値に置換されます。パラメータの順番はお使いの差分ツールに依存しています。
変更していないオリジナルのファイル
BASE ファイルのウィンドウタイトル
変更を行ったあなたのファイル
あなたのファイルのウィンドウタイトル
ウィンドウタイトルは純粋なファイル名ではありません。TortoiseSVN は表示するための名前で扱い、それによって名前を作成します。つまり、リビジョン 123 のファイルから作業コピーのファイルへ差分を取る場合、名前は filename : revision 123
と filename : 作業コピー
となります。
以下に例を示します。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
キーワード、特にファイルの リビジョン 展開に svn:keywords
を使用する場合、キーワードの現在値によって、厳密には違いがでるかもしれません。また、svn:eol-style = native
を使用しているなら、BASE ファイルの行末は純粋に LF
になっているでしょうが、手元のファイルの行末は CR-LF
かもしれません。通常 TortoiseSVN は 差分操作の前に、BASE ファイルに対しキーワード展開や行末を分析して自動的にこの違いを隠蔽します。しかしこの操作は時間がかかる可能性があります。BASE に対する差分の時はファイルを変換する にチェックがなければ、TSVN はファイルに対する事前処理をスキップします。
Subversion の属性用に別の diff ツールを指定することもできます。属性は短く簡単な文字列である傾向があるので、シンプルでもっとコンパクトなビューアを使いたくなるかもしれません。
代替 diff ツールを設定すると、コンテキストメニューから TortoiseMerge と サードパーティツールにアクセスできます。 → で優先 diff ツールを使用し、Shift+ → で代替 diff ツールを使用します。
外部マージプログラムを競合したファイルの解消に使用します。パラメータを差分プログラムと同様の方法で置換します。
誰も変更していないもとのファイル
BASE ファイルのウィンドウタイトル
自分の変更がある自分のファイル
あなたのファイルのウィンドウタイトル
リポジトリにあるファイル
リポジトリにあるファイルのウィンドウタイトル
マージ操作をした結果の競合ファイル
マージしたファイルのウィンドウタイトル
以下に例を示します。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
高度な設定では、ファイルの拡張子ごとに異なる差分・マージプログラムを定義できます。たとえば、.jpg
ファイルの 「差分」 を取るのに Photoshop を関連付けできます。:-) svn:mime-type
で差分・マージプログラムと関連付けることもできます。
拡張子を関連付けるには、拡張子を指定する必要があります。Windows ビットマップファイルを指定するには、.BMP
としてください。svn:mime-type
属性を使用して関連付けるには、text/xml
のようにスラッシュを含めて mime type を指定してください。
unified-diff ファイル (パッチファイル) 用のビューアです。パラメータは必要ありません。デフォルト オプションは .diff
ファイル、及び .txt
ファイルに関連づけがないかどうかをチェックするためのものです。.diff
ファイル用のビューアを持っていなければ、おそらくメモ帳 (NotePad) になるでしょう。
オリジナルの Windows メモ帳は 行末が CR-LF でないファイルをうまく扱えません。ほとんどの unified diff ファイルは 行末が LF のため、メモ帳ではうまく表示できません。しかし、無料のメモ帳の代替ソフトウェアをダウンロードできます。Notepad2 は 行末を正しく表示できるだけでなく、追加・削除した行を、色を変えて表示できます。
便宜上、TortoiseSVN はたくさんの設定を保存し、最近の情報を記憶しています。データのキャッシュを削除する場合、ここで行います。
作業コピーのチェックアウトや、変更点のマージ、リポジトリブラウザの使用の際は常に、TortoiseSVN は直近に使用した URL を記録し、コンボボックスに提供します。時には URL がもう存在しなくなり、リストが散らかりますので、定期的に掃除するのに便利です。
コンボボックスに表示されている 1 項目だけを、その場で削除したい場合、下矢印をクリックしてコンボボックスを開き、削除したい項目にマウスをあわせて、Shift+Del を押してください。
TortoiseSVN は最近の入力したコミットログを保存しています。リポジトリごとに保存していますので、たくさんのリポジトリにアクセスする場合、極度に肥大化してしまうことがあります。
TortoiseSVN は、次回ログを参照した際の時間節約のため、ログ参照ダイアログが取得したログメッセージをキャッシュしています。メッセージがキャッシュされている状態で、他の誰かがログメッセージを編集した場合、キャッシュをクリアしないとその変更を参照できません。ログメッセージのキャッシュは ログキャッシュ タブで有効にできます。
多くのダイアログは、前回使用したときのサイズと画面内の位置を記憶しています。
Subversion サーバの認証を通れば、ユーザ名とパスワードを毎回入力しなくてもいいように、手元にキャッシュしています。セキュリティ上の理由や、リポジトリに別のユーザ名でアクセスするのにクリアしたいかもしれません……ジョンはあなたが彼の PC を使うのを知っていますか?
特定のサーバのみ、認証データをクリアしたければ、キャッシュデータの探し方について、「認証」 をご覧ください。
TortoiseSVN は、進行ダイアログに書き込まれたすべてのログを保持しています。これは例えば、最近の更新コマンドで何が起きたのかをチェックしたいときに便利です。
ログファイルは長さを制限しており、大きくなりすぎたときには古い内容から破棄していきます。デフォルトでは 4000 行保持しますが、この数字はカスタマイズできます。
ここからログファイルの内容の確認や消去ができます。
このダイアログでは、TortoiseSVNのログキャッシュ機能の設定ができます。これはログメッセージと変更したパスのローカルコピーを保持し、サーバからダウンロードの時間消費を防ぎます。ログキャッシュを使用すると、ログダイアログやリビジョングラフが劇的に速くなります。その他にも、オフライン時にもログメッセージを参照できるといった便利な特徴もあります。
ログデータが必要な時は常にログのキャッシュを有効にします。チェックすると、キャッシュが有効ならキャッシュからデータを取得します。キャッシュにメッセージがなければ、サーバから取得しキャッシュに追加します。
キャッシュを無効にすると、データを常にサーバから直接取得し、ローカルに保存しません。
時には、すべてのリポジトリが同じ URL を使用するサーバに、接続しなければならないかもしれません。svnbridge
の旧バージョンではこうなるでしょう。そのようなリポジトリにアクセスする必要がある場合、このオプションをチェックする必要があります。そうでなければ、性能向上のため、チェックしないままにしてください。
いくつかのホスティングサービスでは、すべてのリポジトリが同じ UUID を与えます。また、自分のリポジトリフォルダをコピーして新しいリポジトリを作成、のようなことさえしたかもしれません。さまざまな理由でこれはまずい考えです。UUID は一意でなければなりません。しかし、このチェックボックスをチェックすると、そのような状況でもログキャッシュが動作します。必要なければ、性能向上のため、チェックしないままにしてください。
オフラインで作業していたり、リポジトリサーバがダウンしていたりした場合でも、ログキャッシュを利用して、すでにキャッシュに保持したログメッセージを提供できます。もちろんキャッシュは最新の状態ではありませんから、この機能を使用するかどうかの選択肢があります。
サーバに接続せず、キャッシュからログデータを取得する際、ダイアログはオフライン状態であることをタイトルバーに表示します。
ログダイアログを表示する際、通常、新しいログメッセージをチェックするのにサーバに接続すると思います。ここでタイムアウトに 0 以外を指定したばあい、前回の接続からその秒数経過しているときだけ、サーバに接続します。頻繁にログダイアログを開き、サーバが遅い場合、これによりサーバとのやりとりを抑えることができますが、表示されるデータが完全に最新であるとは限りません。この機能を使用する場合は、折衷案として 300 (5 分) とするのをお勧めします。
たくさんのリポジトリをブラウズすると、たくさんのログキャッシュを蓄積することになります。そのリポジトリを頻繁に使用しなければ、キャッシュが大きくふくらむことはありません。そのため、TortoiseSVN はデフォルトで、ここにセットした時間後にキャッシュを削除します。キャッシュの削除を制御するのに、この項目を使用してください。
大きなキャッシュの再取得は、より負荷が高くなります。そのため、TortoiseSVN は小さなキャッシュしか削除しません。この値で、適切な閾値を調節してください。
時折、キャッシュに何か障害が発生し、それが元でクラッシュすることがあります。これが発生すると、問題の再発防止のため、通常自動的にキャッシュを削除します。それほど安定していない、ナイトリービルドを使用する場合、とにかくキャッシュを保持するため、これを選択できます。
このページでは、ローカルにキャッシュしたリポジトリの一覧を、キャッシュに使用した領域とともに参照できます。リポジトリを選択すると、その下のボタンを使用できます。
をクリックすると、キャッシュを完全に再読込し、抜けたところを補完します。大きなリポジトリでは、非常に時間がかかりますが、オフラインで作業し、もっともよい状態のキャッシュが必要な場合に便利です。
ボタンをクリックすると、キャッシュ全体を CSV ファイルでエクスポートします。ログデータを外部プログラムで処理をする際に便利ですが、主に開発者用でしょう。
をクリックすると、選択したリポジトリのキャッシュデータをすべて削除します。これはそのリポジトリのキャッシュを無効にするものではなく、次回ログデータが必要になると、新しいキャッシュを作成します。
ボタンをクリックすると、特定のキャッシュの詳細統計を表示します。ここではたくさんの項目が表示され、これは主に TortoiseSVN の開発者が興味を引く項目です。そのため、すべてを詳細に説明することはしません。
このキャッシュを提供するのに必要なメモリ量です。
キャッシュに使用するディスクスペースです。データは圧縮されますので、ディスクの使用量は、一般的にかなり控えめになります。
リポジトリが有効なキャッシュを、前回使用したかどうかを表示します。
最後にキャッシュの内容を更新した時間です。
サーバから最新リビジョンを最後に取得した時間です。
キャッシュに記録したメッセージの作者数です。
svn log -v
で見られるリストにある、パスの数です。
取得していないリビジョン範囲の数で、単純にリクエストしていないものです。キャッシュ内のホール数の尺度になります。
キャッシュに格納されている、リビジョン番号の最大値です。
キャッシュに格納されているリビジョン番号の数です。キャッシュの完全性に関する別の尺度になります。
このダイアログでは、Subversion のアクションに合わせて自動的に実行される、フックスクリプトのセットアップを行えます。対照的に 「サーバ側フックスクリプト」 で説明しているフックスクリプトは、クライアントのローカルで実行されます。
ここで言うフックは、コミット後にバージョン番号を更新するため SubWCRev.exe
のようなプログラムを起動したり、再構築のトリガになったりします。
様々なセキュリティ上、実装上の理由により、フックスクリプトはプロジェクト属性としてではなく、マシンローカルに定義されます。他の誰かがリポジトリにコミットするのを考慮する必要なく、何を行うかを定義してください。もちろん、スクリプトをバージョン管理下に置くかどうかを、いつでも選べます。
新しいフックスクリプトを追加するには、単に をクリックし、詳細を入力してください。
現在、6 種類のフックスクリプトが使用できます。
コミットダイアログを表示する前に呼ばれます。フックがバージョン管理下のファイルを変更したり、コミットするファイルのリストやコミットメッセージに影響を与える場合に使用してください。しかし、初期の段階でフックが呼ばれるため、コミット用に選択したオブジェクトの全リストは有効でないことに注意するべきです。
コミットダイアログの
をクリックした後、実際のコミットが始まる前に呼ばれます。このフックは実際にコミットするファイルのリストを持ちます。コミットが完了した後で (成功・失敗に関わらず) 呼ばれます。
リビジョンへの更新ダイアログが表示される前に呼ばれます。
Subversion の更新を実際に始める前に呼ばれます。
更新が完了した後で (成功・失敗に関わらず) 呼ばれます。
フックは特定の作業コピーのパスに対して定義されます。最上位のパスのみ指定する必要があります。もし、サブフォルダを操作する場合、TortoiseSVN は自動的に上位へマッチするかどうか検索を行います。
次に、実行するコマンドライン (フックスクリプトや実行ファイルのパスを含む) を指定しなければなりません。バッチファイルや、実行ファイル、その他 Windows に関連付けられたファイル (perl スクリプトなど) を指定できます。
コマンドラインには、TortoiseSVN が設定するパラメータを含めます。呼ばれるフックによってパラメータは異なります。各フックには以下の順番で渡されるパラメータがあります。
PATH
MESSAGEFILE
CWD
PATH
DEPTH
MESSAGEFILE
CWD
PATH
DEPTH
MESSAGEFILE
REVISION
ERROR
CWD
PATH
CWD
PATH
DEPTH
REVISION
CWD
PATH
DEPTH
REVISION
ERROR
CWD
各パラメータの意味は以下に説明する通りです。
操作を開始したときのすべてのパスを格納した一時ファイルのパスです。各パスは、一時ファイル内に 1 行ごと格納されています。
コミット・更新が完了した際の深度です。
以下のような有効な値があります。
svn_depth_unknown
svn_depth_exclude
svn_depth_empty
svn_depth_files
svn_depth_immediates
svn_depth_infinity
コミット用のログメッセージを格納しているファイルのパスです。このファイルには、UTF-8 エンコードのテキストが格納されています。start-commit フックの実行が完了すると、ログメッセージを読み返し、フックが変更する機会を与えます。
更新したりコミットが完了したときの、リポジトリのリビジョンです。
エラーメッセージを含むファイルのパスです。エラーがない場合、このファイルは空になります。
スクリプトを実行する現在の作業ディレクトリです。これはすべてに影響を与えるパスの、共通のルートディレクトリに設定されます。
便宜上パラメータに名前を付けましたが、フックの設定で、その名前を参照する必要はないことに注意してください。個々のフックに挙げたパラメータはすべて、好むと好まざるとに関わらず常に渡されます ;-)
Subversion の操作を、フックスクリプトが完了するまで止めておきたい場合は、スクリプトが終了するまで待機 をチェックしてください。
通常、スクリプト実行時に不格好な DOS ウィンドウを隠しておきたいと思います。 そのため 実行時はスクリプトを非表示にする をデフォルトでチェックしてあります。
Sample client hook scripts can be found in the contrib
folder in the TortoiseSVN repository. (「TortoiseSVN は自由!」 explains how to access the repository).
TortoiseSVN は、コミットダイアログで課題管理システムにクエリを発行するために、COM プラグインを利用できます。そのようなプラグインの利用を、「課題追跡システムからの情報取得」 で説明しています。あなたのシステム管理者が、すでにあなたがインストールして登録したプラグインを提供している場合、どのように作業コピーと統合するかをここで指定します。
特定の作業コピーでプラグインを使用するには、 をクリックしてください。ここで作業コピーのパス、登録済み課題管理システムプラグインのドロップダウンリストでの選択、渡す任意のパラメータの指定ができます。パラメータはプラグインに固有ですが、あなたに割り当てられた課題をプラグインが抽出できるように、課題管理システムのユーザ名を含めるかも知れません。
すべてのユーザが、あなたのプロジェクトで同じ COM プラグインを使用するようにしたいのであれば、プラグインを bugtraq:provideruuid
属性や bugtraq:providerparams
属性に指定することもできます。
このプロパティには、IBugtraqProvider の COM UUID (例、{91974081-2DC7-4FB1-B3BE-0DE1C8D6CE4E}
) を指定します。(この例は Google Code の課題管理システム用プロバイダの、Gurtle bugtraq provider のUUID です)
この属性は、IBugtraqProvider に渡すパラメータを指定します。
このふたつの属性に何を指定すればよいかは、IBugtraqProvider プラグインのドキュメントをチェックしてください。
TortoiseBlame で使用する設定は、メインのコンテキストメニューから制御できますが、TortoiseBlame 自体では直接できません。
TortoiseBlame は、ファイルにある行の歴史を背景色で表現できます。ここでは、最新と最古の色を指定して両端を設定でき、TortoiseBlame はこの 2 色を補間して、行ごとのリポジトリのリビジョンを表現します。
ここでは、テキストを表示するフォントとポイントサイズを指定できます。ここで指定したものを、ファイルの内容と、左ペインに表示する作者とリビジョンの両方に使用します。
ファイルの内容にタブ文字があった場合、空白を何文字使用して展開するかを定義します。
まれに使われる設定は、レジストリを直接編集するしか方法はありません。何をしているのか明確にわかっている場合に限り、レジストリの値を編集してください。
レジストリの HKCU\Software\TortoiseSVN\ConfigDir
を使用して、Subversion 設定ファイルの場所を異なる場所に指定できます。これは TortoiseSVN のすべての動作に影響を与えます。
TSVNCache プログラムのキャッシュトレイアイコンを追加するため、HKCU\Software\TortoiseSVN\CacheTrayIcon
に DWORD
キーを値 1 で作成してください。これによりプログラムを作法に則って終了させます。そのため実際には開発者のみに有用です。
シェル拡張から TortoiseProc.exe に渡されたコマンドラインパラメータを表示するには、HKCU\Software\TortoiseSVN\Debug
に DWORD
のキーを作成し、値を 1 としてください。
これは Windows エクスプローラ以外のものを使用したり、コンテキストメニューが正しく表示できないといった問題が発生したりしたときに便利です。TortoiseSVN にシェルのコンテキストメニューのアイコンを表示させたくない場合、HKCU\Software\TortoiseSVN\ShowContextMenuIcons
に DWORD
のキーを値 0 で作成してください。またアイコンを表示する場合は、この値を 1 としてください。
他の TortoiseSVN コマンド (更新、コミットなど) を実行している間、エクスプローラの状態オーバーレイアイコンを更新したくない場合、HKCU\Software\TortoiseSVN\BlockStatus
に DWORD
のキーを作成し、値を 1 としてください。
HKCU\Software\TortoiseSVN\UpdateCheckURL
には TortoiseSVN の更新があった場合にダウンロードするテキストファイルの URL が格納されています。必要に応じて HKCU
を HKLM
に変更することもできますが、HKLM
の設定を HKCU
は上書きしてしまいます。企業の管理者が承認するまで TortoiseSVN の更新をさせないようにするのに便利だと思います。
コミットメッセージエディタの自動補完リストには、コミットするファイル名が表示されます。この名前から拡張子を除くには、HKCU\Software\TortoiseSVN\AutocompleteRemovesExtensions
に DWORD
のキーを作成し、値を 1 としてください。
Windows エクスプローラの詳細ビューに表示する、TortoiseSVN が追加する列は、通常、作業コピーのみに有効です。作業コピーのみではなく、どこでもこの列を表示するには、HKCU\Software\TortoiseSVN\ColumnsEveryWhere
に DWORD
キーを作成し、値を 1 としてください。
別のブランチから、あるリビジョンをマージした際、マージ追跡情報が有効だと、そのリビジョン由来のログメッセージをまとめて、コミットログメッセージにします。変更するには、HKCU\Software\TortoiseSVN\MergeLogSeparator
に SZ
キーを作成し、お好みの文字列を設定してください。
TortoiseSVN は外部 diff ビューアを使用できます。しかし、ほとんどのそのようなビューアは注釈履歴 (「注釈履歴の差分」) には対応していません。そのため、このような場合に TortoiseMerge にフォールバックしたくなるかと思います。それには、HKCU\Software\TortoiseSVN\DiffBlamesWithTortoiseMerge
に DWORD
キーを作成し、値を 1 としてください。
ログダイアログでは、ファイルのログを表示する際、現在の作業コピーのリビジョンを強調しています。フォルダに対して同じことをするには、作業コピーに対してクロールしなければなりませんが、作業コピーが大きいと、この操作に時間がかかります。この機能を有効にするには、HKCU\Software\TortoiseSVN\RecursiveLogRev
に DWORD
のレジストリキーを、作成しなければなりません。0 に設定するとこの機能を無効にします (フォルダの強調なし)。1 (デフォルト) に設定すると、状態を再帰的に取得します (作業コピーツリーの最新リビジョンを検索)。2 に設定すると、選択したフォルダ自体のリビジョンをチェックしますが、子項目のチェックはしません。
デフォルトでは、インポート直後など、既存のフォルダ構造上に作業コピーをチェックアウトすると、リポジトリの内容と差異がある既存の項目は上書きされず、変更マークが付きます。コミットの際には、このローカルの内容がリポジトリに送信されることになります。ふたりの人が同じファイルを追加した場合、後でコミットした方がオリジナルバージョンを上書きしてしまわないように、既存の内容と差異がある場合は、チェックアウトが失敗するべきだと思う人々もいます。この例のように強制的にチェックアウトが失敗するようにする場合、HKCU\Software\TortoiseSVN\AllowUnversionedObstruction
に DWORD
レジストリキーを 値 0 で作成しなければなりません。
web プロジェクトを使用する際、Subversion が内部情報を格納する .svn
フォルダを、VS.NET 2003 は扱えません。これは Subversion のバグではありません。VS.NET 2003 とそこで使用する frontpage 拡張のバグです。
Subversion の 1.3.0 と TortoiseSVN では、環境変数 SVN_ASP_DOT_NET_HACK
を設定できます。この環境変数が設定されていると、Subversion は .svn
フォルダではなく _svn
フォルダを使用します。環境変数が効果を現すにはシェルを再起動しなければなりません。通常 PC を再起動することを意味します。簡単にできるように、設定ダイアログの一般ページにあるチェックボックスで設定できます。「一般設定」 をご覧ください。
詳細情報や、その他のこの問題を避ける第一の方法については、私たちの FAQ で関係する記事を調べてください。