From: Jeff King Date: Tue, 12 Jan 2016 15:37:58 GMT Subject: Re: Can't diff against the 00000000 revision Message-ID: <20160112153757.GB8041@sigill.intra.peff.net> In-Reply-To: <20160112153239.GA8041@sigill.intra.peff.net> On Tue, Jan 12, 2016 at 10:32:39AM -0500, Jeff King wrote: > > I currently work around the problem by adding a dummy empty branch, but > > being able to use the revision 00000000 as a known reference to an empty > > tree would come in really handy, and since it's already used at various > > places in Git (post-receive hook and "git show" output, at least), it > > would seem like a natural extension. > > The empty tree also has a name: > > $ git hash-object -t tree /dev/null > 4b825dc642cb6eb9a060e54bf8d69288fbee4904 By the way, the empty tree and empty blob objects are baked-in to git, so you can always rely on diffing against them. IOW, it is fine to write: while read old new ref; do if test "$old" = "0000000000000000000000000000000000000000"; then old=4b825dc642cb6eb9a060e54bf8d69288fbee4904 fi git diff-tree $old $new | whatever_checks_you_want_to_do done in your post-receive hook. -Peff