Johannes Schindelin <Johannes.Schindelin@xxxxxx> writes: >> > + :000000 100644 0000000 $(git rev-parse --short $hash_e) A$(printf "\t")empty >> > + :000000 100644 0000000 $(git rev-parse --short $hash_n) A$(printf "\t")not-empty >> >> Changing the test-case to reflect to the hash of the blob also makes >> sense. > > Yes, that's the post-image side. The pre-image side is marked with 0000000 > (which is Git's way to say "dunno! no current information in the index"). The post-image side for (A)dded and (M)odified can have 0{40} when Git wants to say "we don't have it in precomputed form. you can grab the working tree files and figure it out, if you need it", as you said, but the pre-image side for (A)dded entries are "we know there is nothing because we are Adding, but we need to have something here, so we have 0+ as a filler".