git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Can't diff against the 00000000 revision

From
SMStefan Monnier <monnier@iro.umontreal.ca>
Date
Jan 12, 2016, 16:26 UTC
Message-ID
<jwvr3hmwz1n.fsf-monnier+gmane.comp.version-control.git@gnu.org>
In-Reply-To
<20160112153239.GA8041@sigill.intra.peff.net>
Show 5 quoted lines
>> 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
Yay!
   git diff 4b825dc642cb6eb9a060e54bf8d69288fbee4904..d59cfff346c3e210adc26501f8cebf8da5ab2e7d

seems to give me the expected diff. Thanks!

> And hopefully that explains why "000000" does not necessarily make a
> good placeholder for "the empty thing". There are multiple empty things,
> and it is not clear what:
>   git diff 0000000 1234abcd
> means. Is 0000000 a tree? A blob?

Well, Git is the one who uses 000000 to refer to an empty thing, but indeed it seems like it does inconsistently: it's sometimes used as the "empty blob" and sometimes as an "empty tree".

        Stefan
Previous: Jeff KingNext: Jeff King
Message 4 of 8 in “Can't diff against the 00000000 revision”
  1. Stefan MonnierJan 12, 2016
  2. Jeff KingJan 12, 2016
  3. Jeff KingJan 12, 2016
  4. Stefan MonnierJan 12, 2016
  5. Jeff KingJan 12, 2016
  6. Junio C HamanoJan 12, 2016
  7. Andreas SchwabJan 12, 2016
  8. Jeff KingJan 12, 2016

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.