Run 'git update-index --refresh' in order to get rid of false positives about unstaged changes in files. To reproduce: 1. git status # no local changes 2. touch <file-under-version-control> 3. gitk # file shows up as unstaged modified file 4. git update-index --refresh 5. gitk # file does not show up See link below for more discussion. https://public-inbox.org/git/0c4b21c8-996b-3017-a1f9-894ac5b27232@xxxxxxxxx/T/#m121ab8bd38196a53a6d7ccb89034a99dcd3a703e Signed-off-by: Jacob Kroon <jacob.kroon@xxxxxxxxx> --- gitk-git/gitk | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gitk-git/gitk b/gitk-git/gitk index a14d7a16b..016c1d7fe 100755 --- a/gitk-git/gitk +++ b/gitk-git/gitk @@ -5334,6 +5334,7 @@ proc readdiffindex {fd serial inst} { } # now see if there are any local changes not checked in to the index + catch { exec git update-index --refresh } set cmd "|git diff-files" if {$vfilelimit($curview) ne {}} { set cmd [concat $cmd -- $vfilelimit($curview)] @@ -7829,6 +7830,7 @@ proc diffcmd {ids flags} { } } else { # comparing working directory with index + catch { exec git update-index --refresh } set cmd [concat | git diff-files $flags] if {$j == 1} { lappend cmd -R -- 2.11.0