TortoiseSVN文件夹及文件图标不显示问题解决步骤

来源:攒机帮 2022-07-12 00:37 阅读:90

近期碰到TortoiseSVN图标(如下图所示:增加文件图标、文件同歩进行图标等)不显示问题,在网上寻找的解决方法试了许多都不能真真正正解决,最终汇总了一下,找到了最终解决计划方案,自然此方法也是有缺点,下面咱们就科学研究、剖析、解决这个问题。
 
开启資源管理器,如何都看不见早已同歩的文件夹显示已同步图标。到SVN的设置面板,也找不着一切有关的解决方法。

但是有一天,应用DW浏览文件,精准定位到文件,此刻发觉了已同歩图标。这就令人困惑了,可是起码证实,图标文件沒有遗失,仅仅由于种种原因,没法显示出去,那么就有可能是软件冲突了。
但是最近七七八八装了许多物品,究竟是哪个的缘故呢?

不明原因,因此,百度搜索google之,发觉或是挺多的人碰到这状况的,现摘抄如下所示:

“开始认为是TortoiseSVN坏掉,因此重装,但結果也是一样。因此找了许多材料,总算发觉症结所在--原来是Windows对遮盖图标种类的数据信息 限定的缘故。Windows最多个容许15个遮盖图标,它自身又用了好多个,結果给用户用的就11个上下了(这一限定一直都Windows 7也没有放开,真不知道微软是怎么想的)。TortoiseSVN规范会应用7个(一般图标、已改动图标、冲突标示图标、已删除图标、增加文件图标、忽视图 标、未版本号化图标等),那样剩余可以用的就屈指可数了。假如再安装了百度云盘软件(如:快盘,Dropbox等),那么就更可怜了,他们分别又会应用3个上下的遮盖 图标,那样,遮盖图标自然还不够用了。
那麼,遮盖图标的设置保存在Windows的哪个地方呢?如果有超出11个的遮盖图标,Windows怎样选择显示什么屏蔽掉什么呢?下面再次…
全部应用程序的遮盖图标都必须在注册表文件“HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows CurrentVersionExplorerShellIconOverlayIdentifiers”下面增加一个新项目,当必须显示遮盖图标 时,Windows会依照项目规划的字母成功先后查询在这种新项目里所提示的插口,以检验是不是有遮盖图标,当监测到11个合理的插口后,Windows便会 自动终止再次往下检验,那样,之后的遮盖图标就不容易显示了。
知道基本原理了,解决问题就好弄了。我们可以剖析一下在这个注册表项下的全部新项目,看什么遮盖图标是必须的,什么是不用的,把不需要的項目的名字改一下,前 面加个“z”,那样,这一表项按字母排列就自动排到最终面了。什么是不用的呢?例如:百度云盘的“已经同歩图标”就没有什么用,可以去掉。其他的,可以自己看 着办了。
 
假如你开展调整后,把TortoiseSVN的全部遮盖图标所有提早,但TortoiseSVN依然不容易显示忽视图标、未版本号化图标。为什么呢?研 究了TortoiseSVN的源代码才发觉,原先TortoiseSVN会自身剖析在ShellIconOverlayIdentifiers中申请注册的覆 盖图标数,假如申请注册了过多,TortoiseSVN会自动屏蔽掉一些无关痛痒的图标,目地是让他人软件的遮盖图标尽量还有机会显示。换句话说,假如你期待, 显示TortoiseSVN的那些它自身觉得“无关痛痒”的遮盖图标,你需要删除一些其他程序的图标,把遮盖图标的数量减少到13个下列,这 时,TortoiseSVN才会一切正常显示忽视图标、未版本号化图标等微不足道的图标。”

----------------------- 分隔线 -------------------------------------------------------

针对自己设备, 看过下注册表文件,ShellIconOverlayIdentifiers的文件目录树如下所示:

    !!!BoxFlashSyncExt1
    !!!BoxFlashSyncExt2
    !!!BoxFlashSyncExt3
    !!!BoxFlashSyncExt4
!IconOverlay_Conflict
!IconOverlay_ForbidSync
!IconOverlay_LargeFile
!IconOverlay_Synced
!IconOverlay_Syncing
.KLive_OverlayIcon_ForbidSync
.KLive_OverlayIcon_Synced
.KLive_OverlayIcon_Syncing
1TortoiseNormal
2TortoiseModified
360UDiskGuard Icon Overlay
3TortoiseConflict
4TortoiseLocked
5TortoiseReadOnly

...

...

怪不显示出不来SVN的图标呢,在SVN要overlay icon前边有好几个野蛮的icon,酷盘、115 、快盘三个百度云盘也是费尽心思了想方设法让自身的overlay icon可以被显示出去。竟然连惊叹号,空格符都用上。

酷盘相匹配的overlayicon为:

    !!!BoxFlashSyncExt1
    !!!BoxFlashSyncExt2
    !!!BoxFlashSyncExt3
    !!!BoxFlashSyncExt4

115 对应的overlayicon为:

!IconOverlay_Conflict
!IconOverlay_ForbidSync
!IconOverlay_LargeFile
!IconOverlay_Synced
!IconOverlay_Syncing

快盘相匹配的overlayicon为:

.KLive_OverlayIcon_ForbidSync
.KLive_OverlayIcon_Synced
.KLive_OverlayIcon_Syncing

即然知道基本原理了,那么就逐个把百度云盘灭掉吧。

在其中:115百度云盘归属于半翠绿色安装,由于仅有Sync115Ext.dll (在C:Users用户名AppDataRoaming115Box) 被申请注册,它已经shell overlay icon相匹配的dll,因而,只要将它反申请注册一下就可以了:regsvr32 /u Sync115Ext.dll。

通过卸载,ShellIconOverlayIdentifiers的文件目录树总算整洁了,文件目录树如下所示:

1TortoiseNormal
2TortoiseModified
360UDiskGuard Icon Overlay
3TortoiseConflict
4TortoiseLocked
5TortoiseReadOnly

...

...

最终,重启一下,或注销一下,SVN图标总算复建天日。

最终终极解决计划方案:

网络上有一部分解决计划方案是更改SVN图标名字,让其排列靠前去解决此问题,可是在window xp下我根据此方法没法解决此问题,猜想应该是即使SVN图标排列靠前,可是SVN依然会将自身的图标所有权交给别的软件,因此最有效的解决计划方案是删除全部别的软件的图标,只留有SVN的图标,可是此方法的缺点是360网盘、百度云等别的软件没法显示图标,因此详细怎样解决此计划方案,或是大伙儿自身衡量吧!

1、 到C:Windows文件夹下,开启regedit.exe
2、 Ctrl F,搜索“ShellIconOverlayIdentifiers”
3、 把ShellIconOverlayIdentifiers下面的连接点非SVN的所有删除就可以。
最后实际效果如下图

3、删除完别的软件的连接点后,可以重启电脑上或在任务管理器中结束explorer.exe进程(如下图),

随后在任务管理器中重新开启explorer.exe进程,如下图,点击任务管理器->文件->新建任务(运行...

随后进到下面的图窗口,

在开启中输入:C:WINDOWSexplorer.exe 点击确定就可以!
进行以上操作,再度开启SVN手机客户端文件目录,更新就可以见到图标了,祝你开心!

Win7 64位下TortoiseSVN的文件夹及文件SVN图标不显示恰当解决方法

近期为了更好地代码版本号管理,安装了SVN服务器端与手机客户端,安装TortoiseSVN以后,作用一切正常,可是便是文件夹或文件夹的左下角就是不显示SVN图标,以前在XP上是一切正常显示的。根据网络查找,发觉下列方法可以解决问题。

Windows Explorer Shell 适用的 Overlay Icon 较多 15 个,Windows 本身应用了 4 个,只剩 11 个可扩展使用,很有可能这 11 个位置一部分很有可能被其余的软件占用了,造成 TortoiseSVN的一些关键的图标不显示了。但是,可以重新取名以调整 Tortoise 图标名字的字母次序,让SVN的排在前面,Windows 内部结构便是按图标名字的字母次序来优先选择显示的。

第一:

输入:win R,(开始->运行)输入regedit.exe,调出注册表文件管理器

(1)按住Ctrl F,在注册表文件里搜索 ShellIconOverlayIdentifiers
(2)或者查找: HKEY_LOCAL_MACHINE -> SOFTWARE -> Microsoft -> Windows -> CurrentVersion -> Explorer -> ShellIconOverlayIdentifiers

第二:将TortoiseAdded、TortoiseConflict……TortoiseUnversioned 右键->重命名,如取名为:0TortoiseAdded、1TortoiseConflict……8TortoiseUnversioned。如下图:

第三: 重启或者注销电脑上以后,最终文件夹连接网络服务器后拥有图标