NON-CACHED MODE
       The "non-cached" mode takes a different approach, and is potentially
       the more useful of the two in that what it does can't be emulated with
       a "git-write-tree" + "git-diff-tree". Thus that's the default mode. The
       non-cached version asks the question:

       show me the differences between HEAD and the currently checked out
       tree - index contents _and_ files that aren't up-to-date
       which is obviously a very useful question too, since that tells you
       what you could commit. Again, the output matches the "git-diff-tree -r"
       output to a tee, but with a twist.

       The twist is that if some file doesn't match the index, we don't have a
       backing store thing for it, and we use the magic "all-zero" sha1 to
       show that. So let's say that you have edited kernel/sched.c, but have
       not actually done a "git-update-index" on it yet - there is no "object"
       associated with the new state, and you get:

       […]