バージョン 1.5.0 以降、TortoiseSVN ではコンテキストメニューエントリを無効(実際には非表示)にすることができます。これは安易に使用すべき機能ではなく、やむを得ない理由がある場合にのみ使用すべき機能であるため、GUI は用意されておらず、レジストリで直接設定する必要があります。これは、使用すべきでないユーザーのために特定のコマンドを無効にするために使用できます。ただし、エクスプローラーのコンテキストメニューエントリのみが非表示になり、コマンドはコマンドラインや TortoiseSVN 自体の他のダイアログなど、他の手段でも引き続き利用可能であることに注意してください!
コンテキストメニューの表示に関する情報を保持するレジストリキーは、HKEY_CURRENT_USER\Software\TortoiseSVN\ContextMenuEntriesMaskLow および HKEY_CURRENT_USER\Software\TortoiseSVN\ContextMenuEntriesMaskHigh です。
これらのレジストリエントリはそれぞれ DWORD 値であり、各ビットは特定のメニューエントリに対応しています。ビットがセットされている場合、対応するメニューエントリは無効になります。
表 C.1. メニューエントリとそれらの値
| 値 | メニューエントリ |
|---|---|
| 0x0000000000000001 | チェックアウト |
| 0x0000000000000002 | 更新 |
| 0x0000000000000004 | コミット |
| 0x0000000000000008 | 追加 |
| 0x0000000000000010 | 元に戻す |
| 0x0000000000000020 | クリーンアップ |
| 0x0000000000000040 | 競合解消 |
| 0x0000000000000080 | 切り替え |
| 0x0000000000000100 | インポート |
| 0x0000000000000200 | エクスポート |
| 0x0000000000000400 | ここにリポジトリを作成 |
| 0x0000000000000800 | ブランチ/タグ |
| 0x0000000000001000 | マージ |
| 0x0000000000002000 | 削除 |
| 0x0000000000004000 | 名前変更 |
| 0x0000000000008000 | 特定リビジョンに更新 |
| 0x0000000000010000 | 差分 |
| 0x0000000000020000 | ログを表示 |
| 0x0000000000040000 | 競合の編集 |
| 0x0000000000080000 | 再配置 |
| 0x0000000000100000 | 変更の確認 |
| 0x0000000000200000 | 無視 |
| 0x0000000000400000 | リポジトリブラウザ |
| 0x0000000000800000 | 責務 |
| 0x0000000001000000 | パッチを作成 |
| 0x0000000002000000 | パッチを適用 |
| 0x0000000004000000 | リビジョングラフ |
| 0x0000000008000000 | ロック |
| 0x0000000010000000 | ロック解除 |
| 0x0000000020000000 | プロパティ |
| 0x0000000040000000 | URLと比較 |
| 0x0000000080000000 | バージョン管理されていないアイテムを削除 |
| 0x0000000100000000 | すべてマージ |
| 0x0000000200000000 | 前のバージョンと比較 |
| 0x0000000400000000 | ペースト |
| 0x0000000800000000 | ワーキングコピーのアップグレード |
| 0x0000001000000000 | 後で差分 |
| 0x0000002000000000 | 「ファイル名」と比較 |
| 0x0000004000000000 | 統一差分 |
| 0x2000000000000000 | 設定 |
| 0x4000000000000000 | ヘルプ |
| 0x8000000000000000 | バージョン情報 |
例:“再配置”、“バージョン管理されていないアイテムを削除”、および “設定” メニューエントリを無効にするには、エントリに割り当てられた値を次のように加算します
0x0000000000080000
+ 0x0000000080000000
+ 0x2000000000000000
= 0x2000000080080000
下位の DWORD 値 (0x80080000) は HKEY_CURRENT_USER\Software\TortoiseSVN\ContextMenuEntriesMaskLow に、上位の DWORD 値 (0x20000000) は HKEY_CURRENT_USER\Software\TortoiseSVN\ContextMenuEntriesMaskHigh に格納する必要があります。
メニューエントリを再度有効にするには、2 つのレジストリキーを削除するだけです。