Hi Srinidhi, On Wed, 24 Jun 2020, Srinidhi Kaushik wrote: > > The underlying problem is that some time ago, the (already incorrect) > > empty blob constant was replaced by the empty tree constant, by mistake. I > > contributed a patch series to fix that, and Cc:ed you you in v2 that I > > sent out earlier today. > > Thanks for CC-ing me! Of course! > > - :000000 100644 0000000 $(git rev-parse --short $hash_t) A$(printf "\t")empty > > - :000000 100644 0000000 $(git rev-parse --short $hash_t) A$(printf "\t")not-empty > > + :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"). And it is reflecting the `--patch` case that is unfortunately not visible in the diff context: cat >expect.diff_p <<-EOF && diff --git a/empty b/empty new file mode 100644 index 0000000..$(git rev-parse --short $hash_e) diff --git a/not-empty b/not-empty new file mode 100644 index 0000000..$(git rev-parse --short $hash_n) --- /dev/null +++ b/not-empty @@ -0,0 +1 @@ +$content EOF (This comment is not so much directed at you as it really is a continuation of my reply to Junio, see https://lore.kernel.org/git/nycvar.QRO.7.76.6.2006241517320.54@xxxxxxxxxxxxxxxxx/) > [...] > > > > + hash_e=$(git hash-object empty) && > > > + hash_n=$(git hash-object not-empty) && > > > + hash_t=$(git hash-object -t tree /dev/null) && > > > > > So this is the hash of the empty tree object, and... > > I guess we can get rid of the `hash_t' assignment here, because it > won't be used anywhere else in the test. Right! I _knew_ there was something I wanted to do, still, but then forgot all about it... Thanks, Dscho