从 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
中。
要再次启用菜单项,只需删除这两个注册表项。