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