TortoiseXXX:了解在特定开发项目中使用的SCM软件

时间:2011-10-05 10:05:22

标签: tortoisesvn tortoisehg tortoisegit

我的系统上安装了TortoiseSVN,TortoiseGit和TortoiseHg。正如所料,但遗憾的是,这些工具使用相同的图标来指示特定文件夹的版本控制状态。因此,当我在Windows资源管理器中打开我的软件项目文件夹时,我无法立即看到与特定解决方案/项目一起使用的SCM软件:

TortoiseXXX icons

我当然可以检查是否存在.svn,.git和.hg子文件夹,但是如果在主文件夹图标上指示SCM或在悬停鼠标指针时作为工具提示它会更有效在文件夹上。

有没有人知道是否存在提供此类功能的shell扩展?

3 个答案:

答案 0 :(得分:3)

原因很简单(请参阅TortoiseSVN和TortoiseGit的帮助文件,搜索图标叠加层):

  

事实上,您可能会发现并非所有这些图标都在您的系统上使用。这是因为Windows允许的叠加数量非常有限,如果您还使用旧版本的TortoiseCVS,则没有足够的覆盖插槽可用。 TortoiseSVN试图成为“Good Citizen(TM)”并限制其使用叠加层,以便为其他应用程序提供机会。

     

现在有更多的Tortoise客户(TortoiseCVS,TortoiseHG,......),图标限制成为一个真正的问题。为了解决这个问题,TortoiseSVN项目引入了一个通用的共享图标集,作为DLL加载,可供所有Tortoise客户端使用。请咨询您的客户提供商,看看它是否已经集成:-)

因此,即使您更改其中一个工具的叠加样式,也可能是所有其他工具都遵循。如果您在XP下工作(我已经使用Windows 7进行了检查,并且它不再起作用),您可以在TortoiseSVN Help > 4.7.2中详细说明:Windows资源管理器中的TortoiseSVN列

您可以在Windows资源管理器中显示其他列,也许这是您的选项。

答案 1 :(得分:3)

问题是所有Tortoise客户端都使用相同的共享组件来显示叠加图标 - TortoiseOverlays。 Windows只有少量的图标覆盖处理程序空闲插槽(大约12个 - 其余部分由系统本身使用)。对于Tortoise客户端来说这是一个问题,因为他们通常需要很多处理程序来显示文件和文件夹的不同状态。如果用户安装了多个Tortoise客户端,那已足以达到系统限制,并且一些覆盖将不再显示。

TortoiseOverlays项目的目的是为所有Tortoise客户提供一个通用的图标叠加处理程序。这降低了达到系统限制的风险。唯一的缺点是所有Tortoise客户端将具有完全相同的覆盖图标,这意味着用户不会立即从覆盖中看到哪个版本控制系统正在处理某个文件夹。但由于系统限制,这仍然远远不能显示叠加效果。

答案 2 :(得分:2)

正如其他人已经指出的那样,所有Tortoise客户都有一个很好的理由使用相同的图标。所以我不再详细介绍。

但你为什么不自己customize顶级文件夹图标呢?您可以为每个工作副本文件夹使用一个杰出的图标(不只是一个叠加层,而是一个完整的图标!)。

这样,您可以立即识别每个工作副本使用的版本控制系统(假设您使用一个图标指定git工作副本,一个用于svn工作副本,另一个用于hg工作副本)。

相关问题