Отключение пунктов контекстного меню

Начиная с версии 1.5.0, TortoiseSVN позволяет отключать (а на самом деле просто скрывать) пункты контекстного меню. Поскольку эта возможность не должна использоваться необдуманно, а только в качестве вынужденной меры, то для работы с ней средств в графическом интерфейсе пользователя не предусмотрено, и она может быть задействована путём непосредственного редактирования реестра. Эта возможность может быть применена для отключения определённых команд тем пользователям, которые не должны их использовать. Но учтите пожалуйста, что скрываются только пункты контекстного меню в Проводнике, а команды всё равно остаются доступными другими способами, например, через командную строку или даже через другие диалоги в самом 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Авторство (Blame)
0x0000000001000000Создать заплатку
0x0000000002000000Применить заплатку
0x0000000004000000Граф ревизий
0x0000000008000000Блокировка
0x0000000010000000Снять блокировку
0x0000000020000000Свойства
0x0000000040000000Различия с файлом по URL
0x0000000080000000Удалить неверсированные элементы
0x0000000100000000Объединить все
0x0000000200000000Разница с предыдущей версией
0x0000000400000000Вставить
0x0000000800000000Обновите рабочую копию
0x0000001000000000Сравнить позже
0x0000002000000000Сравнить с 'filename'
0x0000004000000000Объединённые различия
0x2000000000000000Настройки
0x4000000000000000Справка
0x8000000000000000О программе


Например: для отключения пунктов меню «Перебазировать», «Удалить неверсированные элементы» и «Настройки», сложите значения, назначенные этим пунктам следующим образом:

0x0000000000080000
+ 0x0000000080000000
+ 0x2000000000000000
= 0x2000000080080000
      

Значение младшего DWORD (0x80080000) должно быть записано в HKEY_CURRENT_USER\Software\TortoiseSVN\ContextMenuEntriesMaskLow, значение старшего DWORD (0x20000000) - в HKEY_CURRENT_USER\Software\TortoiseSVN\ContextMenuEntriesMaskHigh.

Для того, чтобы снова включить эти пункты меню, просто удалите эти два ключа реестра.