git status updates the index stat data if it has to read the content to determine if there is a change or not. The same goes for git diff. The result is that the next time git can figure out there is no change just by looking at the stat data. If your do not update the index, you have to
read the content again. It can be a separate change though since it
may require more care with how the dircache instance is handled.