TortoiseXXX: знание, какое программное обеспечение SCM используется в конкретном проекте разработки - PullRequest
6 голосов
/ 05 октября 2011

У меня в системе установлены TortoiseSVN, TortoiseGit и TortoiseHg. Как и ожидалось, но, к сожалению, эти инструменты используют одни и те же значки, чтобы указать состояние контроля версий для определенной папки. Таким образом, когда я открываю папку своих проектов программного обеспечения в проводнике Windows, я не могу сразу увидеть, какое программное обеспечение SCM используется с конкретным решением / проектом:

TortoiseXXX icons

Конечно, я могу проверить наличие подпапок .svn, .git и .hg, но было бы более эффективно, если бы SCM указывался на значке основной папки или в качестве всплывающей подсказки при наведении курсора мыши. над папкой.

Кто-нибудь знает, существует ли расширение оболочки, обеспечивающее такую ​​функциональность?

Ответы [ 3 ]

3 голосов
/ 05 октября 2011

Проблема в том, что все клиенты Tortoise используют один и тот же общий компонент для отображения значков наложения - TortoiseOverlays. В Windows имеется только ограниченное количество свободных слотов для обработчиков наложения значков (около 12 - остальное используется самой системой). Это проблема для клиентов Tortoise, потому что им обычно требуется много таких обработчиков для отображения различных состояний файлов и папок. Если у пользователя установлено более одного клиента Tortoise, этого уже достаточно, чтобы превысить системный лимит, и некоторые наложения больше не будут отображаться.

Цель проекта TortoiseOverlays - предоставить общий обработчик наложения значков для всех клиентов Tortoise. Это снижает риск достижения системного предела. Единственным недостатком является то, что все клиенты Tortoise будут иметь одинаковые значки наложения, что означает, что пользователи не сразу увидят из наложений, какая система контроля версий обрабатывает определенную папку файла. Но это все же гораздо лучше, чем вообще не показывать оверлей из-за системного лимита.

3 голосов
/ 05 октября 2011

Причина этого довольно проста (см. Файлы справки TortoiseSVN и TortoiseGit, поиск значков наложений):

На самом деле, вы можете обнаружить, что не все эти значки используются в вашей системе. Это связано с тем, что количество оверлеев, разрешенных Windows, очень ограничено, и если вы также используете старую версию TortoiseCVS, то недостаточно слотов для оверлеев. TortoiseSVN пытается быть «Good Citizen ™» и ограничивает использование оверлеев, чтобы дать шанс другим приложениям.

Теперь, когда вокруг Tortoise больше клиентов (TortoiseCVS, TortoiseHG, ...), ограничение по значку становится реальной проблемой. Чтобы обойти это, проект TortoiseSVN представил общий набор общих значков, загруженный как DLL, который может использоваться всеми клиентами Tortoise. Обратитесь к своему клиентскому провайдеру, чтобы узнать, интегрирован ли он еще :-)

Так что, даже если вы измените стиль наложения для одного из инструментов, возможно, что все остальные последуют. Если вы работаете под XP (я проверил его с Windows 7, и там он больше не работает), у вас может быть опция, подробно описанная в TortoiseSVN Help > 4.7.2: Столбцы TortoiseSVN в проводнике Windows

Там вы можете отобразить дополнительные столбцы в проводнике Windows, возможно, это вариант для вас.

2 голосов
/ 05 октября 2011

Как уже отмечали другие, у всех клиентов Tortoise есть очень веская причина использовать одни и те же значки.Поэтому я больше не буду вдаваться в подробности.

Но почему бы вам не настроить значки верхней папки самостоятельно?Вы можете использовать выделенный значок (не просто наложение, а полный значок!) Для каждой папки с рабочей копией.

Таким образом, вы можете сразу узнать, какую систему контроля версий использует каждая рабочая копия (еслииспользуя один значок для указания рабочих копий git, один для рабочих копий svn, а другой для рабочих копий hg).

...