Changed TortoiseGit character (icon overlay) is not updated

I made a small change in some code, but TortoiseGit shows it as changed (red exclamation mark), although I committed, pulled, pressed, but it remains. What am I supposed to do here? I have not seen this before.

+59
git tortoisegit
Nov 15 2018-11-11T00:
source share
13 answers

I assume you are using a git turtle? I used to have a problem, sometimes pressing F5 corrects it in other cases, when it just disappears after the turtle resyncs itself.

Here is another possible link.

The current workaround is to kill TGitCache.exe with Windows Task Manager.

+103
Nov 15 2018-11-11T00:
source share
β€” -

What helped me was the following:

  • Go to "Settings β†’ Icon Overlay". In the Status Cache section, check the none parameter
  • Update Explorer F5
  • Go back and change the cache setting to "Default"
+14
Mar 13 '17 at 6:51
source share

There is a workaround I tried:

Rename the repository directory and then change it and you will go well!

As an example: MyComplexProject can be changed to MyComplexProject1, and then back to MyComplexProject.

+11
Jun 09 '16 at 9:33
source share

Kill TGitCache.exe works for me ..... I put this as an answer because I do not have enough reputation points to add it as a comment. But I would like to help continue the iteration that this is a working solution.

+10
May 05 '15 at 20:07
source share

Besides what @Andy said, you can make overlays work faster by limiting the folders that it should control.

Right Click -> TortoiseGit -> Preferences -> Icon Overlay

Enter include and exclude paths here. I usually explicitly point to my repositories / working copies:

enter image description here

+8
Nov 15 '11 at 16:39
source share

When the icons do not update, you can quickly kill the icon mapping cache using the following Run command:

taskkill /f /im tgitcache.exe 

The caching process should restart automatically. You can even turn this into a desktop shortcut if you notice that this happens often.

+3
Jul 28 '15 at 2:52
source share

Please check your path to make sure it matches the case.

 Some/Dir/SomeFile.ext 

same for windows as

 Some/Dir/SomeFile.ext 

But before Git, they are in different places. This is fixed by moving back from above with the corresponding case.

+2
Nov 15 '11 at 19:09
source share

I had the same problem on windows.

Killing TGitCache worked for several seconds, but a red icon reappeared.

It turned out that the file was renamed (the first letter was changed from uppercase to lowercase) locally, but was not changed in Git. Windows is case insensitive, but there is Git! Thus, the overlay icon no longer matches. I figured this out by deleting a specific file and choosing β€œreturn” from the Turtoise Git context menu. Two files appeared in the list: one with capital letters, and the other with capital letters.

Finally, renaming the file from the Git context menu solved the problem for me.

+1
Feb 15 '18 at 8:20
source share

I think this problem occurred to me due to applications competing for overlay images of Windows icons (I think a maximum of 15 is allowed).

Here is what I had to do to solve this problem:

  1. Open regedit and browse to Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers " Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers .
  2. Rearrange the subkeys so that the "Turtle *" keys are on top, with a space prefix.
  3. Restart Windows Explorer using the task manager.

See also: TortoiseGit does not show icon overlays

+1
May 21 '18 at 10:55
source share

None of the other options here can solve the problem. (I could not identify any file in which the changes in the case occurred). I was sure that everything was checked, as it should be, so I just deleted the repo and checked it again . Poof, working again.

If you are not so confident in yourself (or simply do not want to take risks, as best), rename your repo folder lcoally and check your repo again, then you can run diff to see if something strange is missing / changed between the two repo folders.

0
Jun 01 '18 at 8:21
source share

It might help ... My drive letter was B: and the overlay icons will not be updated. I changed it outside of C :, (I used M :) and it started working. It looks like TGIT doesn't drive below C:

0
Dec 20 '18 at 2:18
source share

The problem that solved this problem for us was that we moved our Git repositories to a mapped network drive, thus changing the drive letter.

It seems that TortoiseGit should be configured to monitor network drives - this is not standard behavior.

Thus, to solve this problem, you would:

  • Right click repo folder
  • Select "TortoiseGit"
  • Select "Settings"
  • Select Icon Overlays
  • Checkmark "Network Drives"

Work is done.

0
Jan 13 '19 at 16:07
source share

This is a known issue in TortoiseGit. It has existed for years and, apparently, will never be fixed. I do not know if this is so because the TortoiseGit developer does not want or cannot do this. (I also reported this before, but I can no longer find the problem now.)

Anyway, here is what I do to solve this:

 git gc --prune=all --quiet 

It shrinks the Git repository, repacks all of these individual object files, reduces the number of files in .git from tens of thousands to 20, and possibly improves the overall performance of Git operations.

Git sometimes makes a lighter version of this after a commit, but I have rarely seen it happen over the years of daily use. So I just do it myself. This is also a great action to consider before backing up your system (see below).

To make this easier, I created the git-gcall.cmd batch file in an accessible path that calls the command shown above. I have to run it after almost every commit, and after 2-3 seconds the icons are updated. The killings are not related. Just waking up TortoiseGit is a little harder to really monitor the repository and update its state.




Here's a PowerShell script that runs this command in a set of configured directories recursively, if necessary, for use before creating a backup. It can also be run on a regular basis, for example at night, to solve this outdated icon problem in the background.

ds-all-git.ps1:

 Write-Host "Packing Git repositories where necessary..." function Git-Gc($path) { cd $path Get-ChildItem . -Recurse -Hidden .git | Foreach-Object { cd $_.FullName if ((Get-ChildItem objects -File -Recurse).Count -gt 50) { cd ../ Write-Host $(Get-Location).Path git gc --prune=all --quiet } } } Git-Gc C:\Source Git-Gc C:\xampp\htdocs 

Name it using the usual required accompanying file:

ds-all-git.cmd:

 @echo off cd /d "%~dp0" %SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy unrestricted -File gc-all-git.ps1 exit /b %errorlevel% 
0
Jan 26 '19 at 12:01
source share



All Articles