バージョン 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 | バージョン管理外のファイルを削除する |
0x2000000000000000 | 設定 |
0x4000000000000000 | ヘルプ |
0x8000000000000000 | TortoiseSVNについて |
例: 「再配置」・「バージョン管理外の項目を削除する」・「設定」 といったメニューエントリを無効にするには、以下のように値を設定してください。
0x0000000000080000 + 0x0000000080000000 + 0x2000000000000000 = 0x2000000080080000
下位の DWORD
値 (0x80080000
) は HKEY_CURRENT_USER\Software\TortoiseSVN\ContextMenuEntriesMaskLow
に格納せねばならず、上位の DWORD
値 (0x20000000
) は HKEY_CURRENT_USER\Software\TortoiseSVN\ContextMenuEntriesMaskHigh
に格納せねばなりません。
メニューエントリを、再度有効にするには、単純に 2 つのレジストリキーを削除してください。