TortoiseGit not showing icon overlays

前端 未结 13 2032
离开以前
离开以前 2020-12-22 17:07

I have been using TortoiseGit for almost a full year now. It has been working very well for me until yesterday, when I encountered a problem. I was deleting a f

相关标签:
13条回答
  • 2020-12-22 17:43

    I also had my TortoiseGIT shell icons quit displaying suddenly, I don't remember exactly what led up to it but I found this and tried the registry stuff changing 1TortioiseNormal to "1TortioiseNormal" and so on. That is probably a good thing to do no matter what but icon overlays were still not working.

    I am too busy for the blanket answer of "restart the computer" what that says to me is "some service process needs to be restarted but you'd never be able to find it so just restart." Nah.

    I also use TortoiseSVN and those icon overlays were still working for me. I looked in my processes tab of task manager and saw I had something called TSVNCache.exe running. No sign of anything similar for git, so on a whim I went over to the applications tab and hit "New Task", entered TGITCache.exe and sure enough that process fired up. From there go back to processes, kill explorer.exe, then go back to applications -> New Task again and fire up explorer.exe.

    This has worked for me twice now when my TortoiseGIT icon overlays have quit, so, maybe it will work for someone else.

    0 讨论(0)
  • 2020-12-22 17:47

    Windows 10 Solution Steps;

    1. Open regedit

    Path :

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers

    1. Remove/delete all SkyDrive/OneDrive keys. You may need to take ownership of the keys one by one and give your user full control if you receive an error while trying to delete the keys.

    2. Press Ctrl+Shift+Esc and restart "Windows Explorer" (Optionally restart computer)

    3. All git/svn overlay icons are now visible !

    0 讨论(0)
  • 2020-12-22 17:47

    Before going nuts, just try rebooting! It worked for me ;)

    0 讨论(0)
  • 2020-12-22 17:47

    Just add one Space(or more if needed) to first Name of Tortoise options to this regedit addersses:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers
    

    for example:

    "1TortoiseNormal"
    

    Should change to:

    " 1TortoiseNormal"
    

    after a system reboot icons shows currectly.

    0 讨论(0)
  • 2020-12-22 17:52

    The problem with the leading spaces is that every time you reboot, Dropbox adds another space to its registries, and will be always one step ahead of you.

    So I've scheduled a python script found on this post (by Christoph Zwerschke) to execute every time the computer boots. You also have to restart the Explorer after that.

    The .bat will look like:

    python iconOverlayFixer.py
    taskkill /f /im explorer.exe 
    start explorer.exe  
    

    And the python script:

    #/usr/bin/python3
    
    import os
    import winreg as reg
    
    # names of all overlay icons that shall be boosted:
    
    boost = """
        Tortoise1Normal
        Tortoise2Modified
        Tortoise3Conflict
        Tortoise4Locked
        Tortoise5ReadOnly
        Tortoise6Deleted
        Tortoise7Added
        Tortoise8Ignored
        Tortoise9Unversioned
    """
    
    boost = set(boost.split())
    
    with reg.OpenKey(reg.HKEY_LOCAL_MACHINE,
            r'SOFTWARE\Microsoft\Windows\CurrentVersion'
            r'\Explorer\ShellIconOverlayIdentifiers') as base:
    
        names = set()
        renames = []
        i = 0
        while True:
            try:
                name = reg.EnumKey(base, i)
            except OSError:
                break
            core = name.strip()
            if core in names:
                print('Delete', repr(core))
                reg.DeleteKey(base, name)
            else:
                names.add(core)
                if core in boost:
                    core = ' ' + core
                if core != name:
                    renames.append((name, core))
            i += 1
    
        if renames:
            for old_name, new_name in renames:
                print('Rename', repr(old_name), 'to', repr(new_name))
                value = reg.QueryValue(base, old_name)
                reg.CreateKey(base, new_name)
                reg.SetValue(base, new_name, reg.REG_SZ, value)
                reg.DeleteKey(base, old_name)
        else:
            print('Nothing to rename')
    
    0 讨论(0)
  • 2020-12-22 17:52

    What is worked for me for Windows 10 is

    1. uninstalling TortoiseGit
    2. cleaning folders and register
    3. installing it once again
    4. rebooting the computer
    5. making random commit even not seeing the red icon
    0 讨论(0)
提交回复
热议问题